正确删除tabpanel extjs中的项目

时间:2014-03-27 09:12:53

标签: javascript dom extjs4 extjs4.1

我多次打开和关闭标签后出现问题。首先打开和关闭,选项卡面板内的表单渲染没问题,但是一旦我这样做了几次,应用程序行为很奇怪(网格不能再编辑等)我想这可能是因为选项卡内部的组件不正确销毁。我正在以正确的方式销毁标签内的组件吗?这是我的代码:

{
                region: 'center',
                xtype: 'tabpanel',
                flex: 1,
                border: true,
                id: 'modulePanel',
                ui: 'blue-tab',
                resizeTabs: true,
                autoDestroy: false,
                detachOnRemove: true,
                layout: 'fit',
                bodyPadding: 0,
                items: [

                ],
                listeners: {
                    remove: function(tp, c, e){
                        if(c && c.xtype == 'tab'){
                            c.destroy();
                            tp.remove(c);
                            pl.remove(pl.findRecord('id',c.initialConfig.card.tabid));
                            pl.commitChanges();
                            if(pl.getCount() == 1){
                                Ext.getCmp('menubar').toggleFullscreen(false,false);
                            }
                        }
                    },
.....

这是我添加项目的方式:

addTab: function(className, tabTitle, tabId){
    Ext.require(className);
    var modulePanel = this.getModulePanel();
    var module = Ext.create(className);
    var tab = modulePanel.add({
        title: tabTitle,
        xtype: 'panel',
        closable: true,
        tabid: tabId,
        border: true,
        items:[]
    });
    tab.add(module);
    modulePanel.setActiveTab(tab);
},

1 个答案:

答案 0 :(得分:0)

我不知道发生了什么,但现在工作正常。不知怎的,这个框架很奇怪。