2009-12-09 176 views
3

我有一个(Ext JS)选项卡面板,其中隐藏的标签在初始实例化时根本不加载(我设置的唯一标题是标题)。Ext js - 在TabPanel中动态改变Tab的内容

在激活选项卡时,我想调用一个方法,然后实例化一个新的FormPanel/GridPanel并将此内容放入选项卡中。

有人可以指点我的代码示例或给我提示如何做到这一点? 非常感谢!

回答

5

只需构建一个新面板并将其添加到激活的选项卡。然后调用doLayout()。

listeners: { 
    activate: function(panel) { 
     var formPanel = .... 
     panel.add(formPanel); 
     panel.doLayout(); 
    } 
} 
+2

请注意,您可能不希望每次激活选项卡时都重新添加表单面板。在添加激活的侦听器时,您可能希望使用{single:true}配置,在添加表单面板后手动删除侦听器,或者检查激活处理器是否已经首先加载表单面板。 – 2009-12-10 07:37:34

+0

bmoeskau,好点!我应该在我的答案中提到它... – snw 2009-12-10 10:32:50

+0

非常感谢!那就是诀窍。是的,我肯定会把逻辑在那里,所以它不会重新添加... – 29er 2009-12-10 18:06:32