欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

extjs tabpanel限制选项卡数量实现思路及代码

程序员文章站 2022-06-17 16:12:53
复制代码 代码如下: var tabindex = 'shouye'; var tabindex2 = 'shouye'; var tabindex3 = 'shouye'...
复制代码 代码如下:

var tabindex = 'shouye';
var tabindex2 = 'shouye';
var tabindex3 = 'shouye';
var tabindex4 = 'shouye';
var tabindex5 = 'shouye';
var tabindex6 = 'shouye';
var tabindex7 = 'shouye';
/**
* 向tabpanel组件中添加窗口或激活已经存在的窗口
* 并将指定资源加载进窗口
* @param node : 传入的node节点
*/
var loadpanel = function(node) {
var id= node.id;//获取节点的id
tabindex7 = id;
var href = node.attributes.href;//获取节点中的href属性
var text = node.text;
var mainpanel = ext.getcmp('mainpanel');
//mainpanel.remove('mainpanel', true);
var qtip = node.attributes.qtip;
var tab = mainpanel.getcomponent(string(id));//获取指定id的组件对象
if(tab) {
mainpanel.setactivetab(tab);//检验当前tab选项卡是否存在,如果存在只需要激活
return;
}
//如果选项卡不存在,则以下为创建选项卡代码
tab = mainpanel.add(new ext.panel ({
//创建新选项卡的配置
id : string(id),//设置id,需强制转换为string类型
title : text,//设置选项卡标题
tabtip : text,
html : '<iframe width=100% id=main_desk name=main_desk height=100% frameborder=0 scrolling=auto src=' + href + ' />',
autoscroll: true,
enabletabscroll:true,
defaults: {autoscroll:true},
closable : true //是否可以关闭
}));
mainpanel.setactivetab(tab);//创建选项卡后,将其激活
mainpanel.remove(tabindex, true);
tabindex = tabindex2;
tabindex2 = tabindex3;
tabindex3 = tabindex4;
tabindex4 = tabindex5;
tabindex5 = tabindex6;
tabindex6 = tabindex7;
}

使用的是用变量存储 id 加载新的选卡时 交换 id ,从而限制了打开的选项卡数量,如果不是一定要这个效果,建议不要频繁的关闭和创建tabpanel