我在运行时向面板添加组件:
Ext.define("MyApp.view.SomePanel",{
extend:'Ext.panel.Panel',
...
setGridList:function(gridIds) {
myItems=[];
Ext.each(gridIds,function(gridId){ myItems.push(Ext.getCmp(gridId) || Ext.create("Ext.grid.Panel",{id:gridId}))});
Ext.applyIf(me,{items:myItems});
}
});
从initComponent第一次调用它时效果很好。但是从商店负载处理程序调用时它不起作用。我最好的猜测是我必须刷新视图,重建布局或者......像那样!?但我在文档中找不到这样的东西。
这里的任何人都知道这个伎俩吗?
答案 0 :(得分:1)
如果您的班级MyApp.view.SomePanel
是Ext组件,那么您可以使用Container.add()或Container.remove()。
如果未自动添加孩子,请拨打Container.doLayout() method。
PS:你班级的布局应该支持多个孩子。