我有一个简单的tabpanel。我想获取当前活动选项卡的子组件并销毁它们doLayout()
。以下代码无效:
Ext.getCmp('centertabpanel').getActiveTab().items.destroy();
答案 0 :(得分:2)
要记住的一点是,ExtJS中TabPanel的标签只需要是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,则它将停止元素的所有迭代。