0

在 ExtJs 6 经典中,我有一个 Ext.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'
          }]
    ));

父级正在使用适合布局,在删除和添加新组件之前,我需要在父面板上调用任何方法吗?动态添加第一次起作用,但在删除动态添加的组件后(通过按下按钮开始)。

4

1 回答 1

0

使用this.removeAll()函数删除面板中的所有子元素。添加一些新元素后尝试调用updateLayout函数。如果此解决方案无助于提供重新创建您的问题的小提琴示例。

于 2016-02-27T00:42:32.023 回答