如何在extjs4中获取tabpanel的活动选项卡的子组件?

时间:2011-11-05 17:16:04

标签: extjs extjs4 tabpanel

我有一个简单的tabpanel。我想获取当前活动选项卡的子组件并销毁它们doLayout()。以下代码无效:

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

1 个答案:

答案 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,则它将停止元素的所有迭代。