如何在ExtJS中的选项卡内部设置窗口

时间:2011-11-30 07:53:22

标签: javascript extjs

我几天来一直在敲打这个问题。

我想在ExtJS的标签页面中放置一些窗口。我尝试在选项卡中创建窗口但是当您切换选项卡时,窗口保持可见,因此它们不会绑定到选项卡。窗户必须能够动态创建/销毁。

我尝试创建一个窗口,然后使用tab.add(wind)将其添加到选项卡的框架中,但这不起作用。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

作为一种可能的解决方案,您可以在激活/取消激活选项卡面板之前隐藏()并显示()窗口。

也就是说,如果用户移出选项卡,则可以隐藏所有窗口,以便它们不会显示在其他选项卡中,当用户移回此选项卡时,您可以显示所有此类窗口。当然,您必须检查窗口是否存在。希望这会有所帮助。

答案 1 :(得分:0)

将此添加到选项卡的停用并激活监听器:

这是在extjs 4.1

中测试的
this.tab_panel = Ext.create('Ext.tab.Panel', {
    xtype: 'tabpanel',
    activeTab: 0,
    border:false,
    items: [{
        ..... // your other tab config
        listeners:
        {
            activate:
            {
                scope: yourscope,
                fn: function()
                {
                    var window = this.windowThatsInATab;    // or panel etc...

                    window.floatingItems.show();
                }
            },
            deactivate:
            {
                scope: yourscope,
                fn: function()
                {
                    var window = this.windowThatsInATab;    // or panel etc...

                    window.floatingItems.hide();
                }
            }
        }
    }]
});