3

我有一个选项卡列表,我想要的是每当我切换选项卡时,项目被添加到选项卡并重新绘制,旧选项卡被销毁。我这样做是出于性能原因。

这就是我尝试这样做的方式,但它不起作用

view=    Ext.Viewport.add({                
                xtype : 'tabpanel',  
                deferredRender:false,
                tabBarPosition : 'bottom',
                items : tabs,
                listeners : 
                {
                    activeitemchange : function(container, newValue, oldValue,opts)
                    {
                        // --> destroy old tab
                        oldValue.setItems([]);
                        index = container.items.findIndex('id',newValue.id);
                        // --> redraw new tab                            
                        newValue.add(tabItems[index-1]);
                    }
                }
});

选项卡仅在第一次加载。我第二次进入选项卡时出现
未捕获错误:NOT_FOUND_ERR: DOM Exception 8

这样做的正确方法是什么?
这真的比创建带有项目的选项卡更高效吗?

谢谢

4

1 回答 1

2

我不确定你为什么要这样做。这意味着实际的标签将从您的标签面板中删除。那是你要的吗?

当然你只是想删除标签面板项目- 对吧?如果是这样,我建议你不要使用tabpanel,而是应该使用带有卡片布局的普通容器,然后是tabbar组件。这样tabbar可以有多个tab,容器(fake tabpanel)可以假装有几个item,但只有1/2。

于 2012-04-18T21:53:10.287 回答