1
我有一個簡單的tabpanel。我想獲取當前活動選項卡的子組件並銷燬它們,並且doLayout()
。下面的代碼將無法正常工作:如何獲取extjs4中tabpanel的活動選項卡的子組件?
Ext.getCmp('centertabpanel').getActiveTab().items.destroy();
我有一個簡單的tabpanel。我想獲取當前活動選項卡的子組件並銷燬它們,並且doLayout()
。下面的代碼將無法正常工作:如何獲取extjs4中tabpanel的活動選項卡的子組件?
Ext.getCmp('centertabpanel').getActiveTab().items.destroy();
有一點要記住這裏的是,在的TabPanel在ExtJS的標籤只需要在ExtJS的3 BoxComponent或ExtJS的4. Component這意味着選項卡不需要持有兒童元素。但是,如果你知道你的centertabpanel
與Containers標籤,那麼你有兩個選擇:
如果你的標籤是具有autoDestroy
設置爲true(這是默認)的容器,那麼只需使用:
Ext.getCmp('centertabpanel').getActiveTab().removeAll();
如果你想設置autoDestroy
爲false,那麼使用下面的代碼:
Ext.getCmp('centertabpanel').getActiveTab().each(function(item, idx, len) {
item.destroy();
});
.each()
上MixedCollection定義。它將按順序針對所有子項執行第一個參數中的函數。作爲一個方面說明,如果你在函數內返回false,那麼它將停止所有元素的迭代。
你使用的是Ext 3還是4? – Ryan
你是否有任何錯誤? – Ryan
@ryan我沒有得到任何錯誤,也沒有什麼happns.probably我的問題是如何獲得組件的所有子元素並銷燬它們? –