欢迎您访问我爱IT技术网,今天小编为你分享的javascript教程:【extjs每个组件要设置唯一的ID否则会出错】,下面是详细的讲解!
extjs每个组件要设置唯一的ID否则会出错
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重复问题
关于extjs每个组件要设置唯一的ID否则会出错的用户互动如下:
相关问题:extjs将原页面所有组件设置为disabled,在线等
答:不知道你组件的组成方式有多复杂,但是好像是没有一键设置的吧,不行了你就获取到他们的id值然后设置不可以吗? >>详细
相关问题:extjs怎么让一个组件禁用
答:直接设置属性 disabled : true 或者Ext.getCmp('id').disable(); 设置组件禁用 Ext.getCmp('id').enable(); 设置组件启用 >>详细
相关问题:ExtJS弹出框层次问题
答:例子如下: var _win = new Ext.Window({ title:'', width:650, height:400, closeAction:'hide', layout:'fit', modal:true, //设置遮罩,即你要的效果 resiziable:false, items:[items] }); >>详细
- 【extjs】extjs每个组件要设置唯一的ID否则会出错
- 【hover】jQuery控制图片的hover效果(smartRollo
- 【Cookie】Cookie 小记
- 【arguments】JavaScript的arguments对象应用示例
- 【function】JavaScript function 的 length 属性
- 【ExtJs】ExtJs动态生成treepanel的Json格式-tree
- 【Ajax】Ajax执行顺序流程及回调问题分析-顺序-回
- 【Extjs】Extjs根据条件设置表格某行背景色示例-
- 【filter】javascipt:filter过滤介绍及使用-过滤
- 【HTML5】Javascript和HTML5利用canvas构建Web五
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
