ext中如何正确的定位到具体tabpanel

ext中如何正确的定位到具体tabpanel

问题描述:

左边一个树,右边是个tabpanel,和ext的帮助文档效果一样的,点击左边那棵树的叶子节点则在右边添加一个tabpanel,如果那一个叶子节点多次,我想要一直定位在添加的那一个上面,而不重新添加,怎么实现这种效果

一般的是给个id,用Ext.getCmp(Id)来获取,如果没有这个组件,就添加。完了将其设为当前tab就可以了 setActiveTab(cmp)

var tab = ...
var tree = ...
tree.on("click" , function(node){
var id = node.id;
var cmp_id = "cmp_" + id;
var cmp = Ext.getCmp(cmp_id);

if(!cmp){
cmp = new Ext.Panel({id:cmp_id,...});
cmp.on("render" , function(){
tab.setAciveItem(cmp);
});
tab.add(cmp);
tab.doLayout();
}else{
tab.setActiveItem(cmp);
}
});