在ExtJs 6 classic中,我有一个Ext.panel.Panel,我已经添加了子项,其中一些子项是动态创建的Panel和容器。我保存对这些容器的引用,并将其从父Panel(this)中删除,如下所示:
if (this.myChildPanels.length > 0) {
for (var i = this.myChildPanels.length - 1; i >= 0; i--) {
this.remove(this.myChildPanels[i], true);
}
this.remove(this.queryById('finalPanel'), true);
this.myChildPanels= [];
}
这些子面板确实消失,不再按预期显示。
但是当我尝试将新容器添加回父面板(this)时,新面板不会显示
this.add(Ext.create('Ext.container.Container', {
width: '200px',
height: '400px',
layout: {
type: 'fit'
},
items: [ {
xtype: 'label',
text: 'Some stuff'
}]
));
父级正在使用适合的布局,在删除之后和向其添加新组件之前,是否需要在父Panel上调用任何方法?动态添加首次使用,但在删除动态添加的组件(按下按钮后启动)后才能使用。
答案 0 :(得分:0)
使用this.removeAll()
函数删除面板中的所有子元素。添加一些新元素后,尝试调用updateLayout
函数。如果这个解决方案没有帮助提供重复你的问题的小提琴示例。