我有一个选项卡列表,我想要的是每当我切换选项卡时,项目都会添加到选项卡中并重新绘制,旧选项卡将被销毁。我出于性能原因这样做。
这就是我试图这样做的方法,但它不起作用
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
这样做的正确方法是什么?
这比使用其中的项目创建标签更加高效。
谢谢
答案 0 :(得分:2)
我不确定你为什么要这样做。这意味着实际的标签也将从您的tabpanel中删除。这就是你想要的吗?
当然你只想删除tabpanel 项目 - 对吧?如果是这样,我建议你不要使用tabpanel
,而应该使用带有卡片布局的普通容器,然后使用tabbar
组件。这样,tabbar可以有几个标签,容器(假tabpanel)可以假装有几个项目,但只有1/2。