如何在sencha touch 2中动态创建/销毁选项卡

时间:2012-04-18 13:27:32

标签: performance sencha-touch-2 tabpanel

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

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

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异常8

这样做的正确方法是什么?
这比使用其中的项目创建标签更加高效。

谢谢

1 个答案:

答案 0 :(得分:2)

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

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