在运行时添加ExtJS组件 - "刷新视图"?

时间:2014-03-18 16:51:55

标签: javascript extjs

我在运行时向面板添加组件:

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第一次调用它时效果很好。但是从商店负载处理程序调用时它不起作用。我最好的猜测是我必须刷新视图,重建布局或者......像那样!?但我在文档中找不到这样的东西。

这里的任何人都知道这个伎俩吗?

1 个答案:

答案 0 :(得分:1)

如果您的班级MyApp.view.SomePanel是Ext组件,那么您可以使用Container.add()Container.remove()

如果未自动添加孩子,请拨打Container.doLayout() method

PS:你班级的布局应该支持多个孩子。