删除组件的正确方法是什么我知道我不再使用了,但我想稍后使用同一类的新实例?
例如,使用Ext.Viewport.add()
将创建表单添加到视口中,但是一旦提交,我想销毁表单,因此下次用户想要创建项目时,会生成一个新表单(即实例化新组件)。
我尝试了Ext.Viewport.remove(form, false)
和Ext.Viewport.remove(form, true)
,他们都给了我错误:TypeError: Cannot set property 'className' of undefined
。
答案 0 :(得分:1)
显然,这不起作用的原因是我试图从我为要删除的组件中包含的组件的事件处理程序运行的代码中删除组件。
例如,如果单击某个按钮,并且该按钮会立即尝试从视口中删除其容器组件,则删除将成功,但是将调用按钮释放事件而不使用DOM元素,作为按钮本身也被删除了。
一个简单的解决方法是在短暂超时后调用Ext.Viewport.remove(...)
。