【问题标题】:How to get child component of an active tab of a tabpanel in extjs4?如何在 extjs4 中获取选项卡面板的活动选项卡的子组件?
【发布时间】:2011-12-22 17:42:06
【问题描述】:

我有一个简单的标签面板。我想获取当前活动选项卡的子组件并销毁它们和doLayout()。以下代码不起作用:

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

【问题讨论】:

  • @ryan 我没有收到任何错误,也没有发生任何事情。可能我的问题是如何获取组件的所有子元素并销毁它们?

标签: extjs extjs4 tabpanel


【解决方案1】:

这里要记住的一点是,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,那么它将停止所有元素的迭代。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2015-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多