在Extjs中,treepanel中的每一个节点都可以插入多个子节点,而且可以插入多个名字相同的子节点,但在某些情况下,这种插入相同名字的子节点显然是不合适的,那么,如何才能防止插入相同名字的子节点呢?
var form = Ext.getCmp('formPanel').getForm(); //获取表单 var records = parent.customerTypePanel.getSelectionModel().getSelection(); //获取想要添加子节点的节点 var someRes = records[0].childNodes.some(function (item, index, array) { //遍历选中节点的所有子节点(数组),如果有表单中输入的名字在子节点数组中已经存在,则返回true return (item.data.CLIENT_CATEGORY_NAME_ == form.findField('CLIENT_CATEGORY_NAME_').getValue()); }); if (someRes) { Ext.Msg.alert('操作信息', '存在相同名称'); return; }这样就可以在与数据库交互前在前台判断了,提高了系统性能。