2011-11-05 6 views
1

私は簡単なタブパネルを持っています。現在アクティブなタブの子コンポーネントをフェッチし、それらを破棄してdoLayout()としたいと思います。次のコードは動作しません。extjs4のタブパネルのアクティブなタブの子コンポーネントを取得するには?

Ext.getCmp('centertabpanel').getActiveTab().items.destroy(); 
+0

Ext 3または4を使用していますか? – Ryan

+0

あなたは何かエラーが発生していますか? – Ryan

+0

@ryan私はエラーも何も起こりません。おそらく私のqsはコンポーネントのすべての子要素を取得し、それらを破壊する方法でしょうか? –

答えて

2

一つのことを心に留めておくためにここにExtJSの中タブパネル年代のタブはちょうどこれは、タブがあることを意味ExtJSの3中BoxComponentやExtJSの4中Componentする必要があるということです子要素を保持する必要はありません。あなたのタブがtrueにautoDestroyセット(つまり、デフォルトである)を持つコンテナの場合、単に使用し、

Ext.getCmp('centertabpanel').getActiveTab().removeAll(); 
あなたの centertabpanelContainersとタブを持っていることがわかっている場合は、その後、次の2つのオプションがあります

あなたがfalseにautoDestroyを設定したい場合は、次のコードを使用し

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

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

関連する問題