我想创建像这样的东西
Ext.onReady(function () {
Ext.QuickTips.init();
Ext.create('Ext.Viewport', {
layout: 'fit',
id: 'cmpWithReplacebleItems'
});
Ext.getCmp('cmpWithReplacebleItems').items = [new SomeComponent()];
});
SomeComponent的代码
SomeComponent = Ext.extend(Ext.Viewport, {
layout: 'fit',
items: [{
xtype: 'panel',
html: 'test',
title: 'My Panel'
}]
});
正如您所见,我希望'cmpWithReplacebleItems'项目可以替换。但是当我尝试这个代码时,我在调整大小时会出现一些错误......
问题是......这样做的正确方法是什么?
答案 0 :(得分:2)
构建组件后,您无法直接修改项目。您希望使用Ext.Container
方法add
,remove
或removeAll
来修改项目。
Ext.onReady(function () {
Ext.QuickTips.init();
Ext.create('Ext.Viewport', {
layout: 'fit',
id: 'cmpWithReplacebleItems'
});
var cmp = Ext.getCmp('cmpWithReplacebleItems');
cmp.add(new SomeComponent());
cmp.doLayout(); //important to layout again after adding/removing
});