我有一个简单的标签面板。我想获取当前活动选项卡的子组件并销毁它们和doLayout()
. 以下代码将不起作用:
Ext.getCmp('centertabpanel').getActiveTab().items.destroy();
这里要记住的一件事是,ExtJS 中的 TabPanel 中的选项卡只需要是ExtJS 3中的BoxComponent或 ExtJS 4 中的组件。这意味着选项卡不需要保存子元素。但是,如果您知道您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,那么它将停止元素的所有迭代。