1

私はシンプルなタブパネルを持っています。現在アクティブなタブの子コンポーネントを取得して破棄したいdoLayout(). 次のコードは機能しません。

Ext.getCmp('centertabpanel').getActiveTab().items.destroy();
4

1 に答える 1

2

ここで留意すべきことの 1 つは、ExtJS の TabPanel のタブは、ExtJS 3 のBoxComponentまたは ExtJS 4 のComponentである必要があるということです。これは、子要素を保持するためにタブが必要ないことを意味します。ただし、Containerscentertabpanelのタブがあることがわかっている場合は、次の 2 つのオプションがあります。

タブがautoDestroytrue (デフォルト) に設定されたコンテナーである場合は、次を使用します。

    Ext.getCmp('centertabpanel').getActiveTab().removeAll();

falseに設定autoDestroyする場合は、次のコードを使用します。

    Ext.getCmp('centertabpanel').getActiveTab().each(function(item, idx, len) {
        item.destroy();
    });

.each()MixedCollectionで定義されています。すべての子アイテムに対して、最初のパラメーターの関数を順番に実行します。補足として、関数内で false を返すと、要素のすべての反復が停止します。

于 2011-11-06T16:58:11.337 に答える