在运行时添加ExtJS组件-“刷新视图”

Add ExtJS components at run time - "refresh view"?

本文关键字:刷新 新视图 刷新视图 运行时 添加 ExtJS 组件      更新时间:2023-09-26

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

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调用时效果很好。但是,当从存储加载处理程序调用时,它不起作用。我最好的猜测是,我必须刷新视图,重建布局或类似的东西!?但是我在文档中没有找到这样的东西。

这里有人知道诀窍吗?

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

如果子元素没有自动添加,则调用Container.doLayout()方法。

PS:你的类的布局应该支持多个子元素