2011-11-05 101 views
1

我有一个简单的tabpanel。我想获取当前活动选项卡的子组件并销毁它们,并且doLayout()。下面的代码将无法正常工作:如何获取extjs4中tabpanel的活动选项卡的子组件?

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

你使用的是Ext 3还是4? – Ryan

+0

你是否有任何错误? – Ryan

+0

@ryan我没有得到任何错误,也没有什么happns.probably我的问题是如何获得组件的所有子元素并销毁它们? –

回答

2

有一点要记住这里的是,在的TabPanel在ExtJS的标签只需要在ExtJS的3 BoxComponent或ExtJS的4. Component这意味着选项卡不需要持有儿童元素。但是,如果你知道你的centertabpanelContainers标签,那么你有两个选择:

如果你的标签是具有autoDestroy设置为true(这是默认)的容器,那么只需使用:

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

如果你想设置autoDestroy为false,那么使用下面的代码:

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

.each()MixedCollection定义。它将按顺序针对所有子项执行第一个参数中的函数。作为一个方面说明,如果你在函数内返回false,那么它将停止所有元素的迭代。

相关问题