在我的应用程序中,我创建了几个包含表单和编辑器网格的模态窗口。为了重新使用组件,我创建了组合,字段文本,复选框和其他东西作为变量,并且只将necesarry添加到每个窗口。其中一个变量是一个editorgrid,xtype:'editorgrid',还有一个问题:
如果我将变量myEditorGrid添加到面板中,它在第一次打开窗口时工作正常,但是第二次任何窗口必须呈现相同的编辑网格,那么这些字段就不能再编辑了。
如果我在面板中创建了editorgrid(并且不使用变量),那么每次打开窗口时它都可以正常工作,但是我需要将相同的代码一遍又一遍地复制并粘贴到所有窗口,并且这不是很专业。
我认为问题是变量没有被破坏,并确保窗口关闭,但我不知道如何销毁变量,即使这是解决方案。
有什么想法吗?
由于
答案 0 :(得分:0)
您不能以这种方式重用EditorGrid
,因为它的列模型在使用后会被销毁。
重用组件的最佳方法是使用Ext.extend
方法described here,然后在initComponent
中使用类似的内容。
initComponent : function() {
this.cm = new Ext.grid.ColumnModel({
columns: [
//define columns here
]
});
this.ds = new Ext.data.JsonStore({
//store config
});
//...
}