浏览 5498 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (8) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-07-07
最后修改:2010-07-09
演示代码: var text = new Ext.form.TextField({}); var form = new Ext.FormPanel({ // ...若干代码省略... items: [text] }); form.remove(text); form.doLayout(); 咱们来看看这个异常是怎么产生的. 有个Ext.form.MessageTargets类, 这个类的代码在/src/widgets/form/Field.js里面, 主要是用来处理Field类validate的错误信息提示; 当FromPanel设置msgTarget=='side'时, Field会往父容器注册一个afterlayout事件监听 if (field.ownerCt) { field.ownerCt.on('afterlayout', field.alignErrorIcon, field); field.ownerCt.on('expand', field.alignErrorIcon, field); } 当Field对象被销毁之后, 如果一旦触发了afterlayout或expand事件, 那么会就抛异常"field.alignErrorIcon is not a function"; 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-07-08
还没此应用,要移除做什么呢?
|
|
返回顶楼 | |
发表时间:2010-07-08
joehe 写道 还没此应用,要移除做什么呢?
我只是描述这么一种情况 你也可以是这样 var text = new Ext.form.TextField({}); var form = new Ext.FormPanel({ // ...若干代码省略... renderTo: 'form-ct', items: [text] }); form.remove(text); form.add(new Ext.form.TextField({})); form.doLayout(); |
|
返回顶楼 | |
发表时间:2010-07-09
前几天刚好遇到一个类似的应用,也是formpanel动态 删除 添加组件,当时把删除的组件放在一个panel中,panel放在formpanel里面,像楼主一样,remove(text),也抛异常,后来只好 remove(text的id)才正常
|
|
返回顶楼 | |
发表时间:2010-07-11
wuzhen 写道 前几天刚好遇到一个类似的应用,也是formpanel动态 删除 添加组件,当时把删除的组件放在一个panel中,panel放在formpanel里面,像楼主一样,remove(text),也抛异常,后来只好 remove(text的id)才正常
为什么remove(text的id)才正常? |
|
返回顶楼 | |
发表时间:2010-07-31
如果是form.items.remove(text),然后doLayout()呢?
一般在项目中,我的处理方法是将这个控件disable,然后hide,就可以实现相应的需求了…… |
|
返回顶楼 | |
发表时间:2010-08-03
这正体现的一个需求有多种解决方案
|
|
返回顶楼 | |
发表时间:2010-08-04
不明白这个帖子为啥会被投新手?
|
|
返回顶楼 | |
发表时间:2011-03-23
我也不明白,可能都是大牛吧
|
|
返回顶楼 | |