extjs每个组件要设置唯一的ID否则会出错

2019-12-21,,,

extjs每个组件要设置唯一的ID,否则会造成各种错误

EXTJS基本上是靠ID来识别组件的,假如你在panel1中有个ID:"keyword"的textfield,而panel2中有个ID相同的textfield ,那么,当你关闭panel2,由于extjs发现panel2中的ID:"keyword"组件在panel1中仍然使用中,是不会销毁掉它的,于是它成为一个孤立的对象,从而造成混乱。

无论如何,你得时刻记着,任何时候,必须确保对象ID是唯一的。这有两个做法:

1,不给对象指定ID,然后使用组件的find方法通过其他属性来查找对象,例如find("name","role"),结果产生一个array,当然,你的属性是唯一的,那你就可以用find("name","role")[0]这种形式引用组件。

2,你也可以用父组件ID+子组件ID的形式来指定子组件,这个方法更好,并且extjs内部就是这么做,子组件的ID变成了:this.id+"_role",注意,这里的this是指父组件。在实例时,由于父组件的ID指定的一定是唯一的,所以,即便实例了两次同一个组件,两个实例的子组件却拥有唯一ID。从而可以很好的处理ID重复问题

您可能感兴趣的文章:

  • javascript GUID生成器实现代码
  • JavaScript生成GUID的多种算法小结
  • JavaScript实现生成GUID(全局统一标识符)
  • 原生JavaScript生成GUID的实现示例
  • Javascript生成全局唯一标识符(GUID,UUID)的方法

《extjs每个组件要设置唯一的ID否则会出错.doc》

下载本文的Word格式文档,以方便收藏与打印。