ext新建tab子项的方法 步骤如下

ext新建tab子项的方法 步骤如下,第1张

1、开始的思路是每次点击是刷新页面,找了好多方法终于能刷新的,但只是页面刷新内容并没有刷新。动态创建并刷新代码

2、这个需要设置为全局变量,在子页面中就可以调用了。调用方法 window.parent.addtab(id,name,url)

3、这样写只是实现了刷新页面,并没有更改内容。问题在于add方法,如果存在id相同的tab ext会自动跳转不会再重新创建tab。于是想到了解决思路,如果不存在tab标签 那么就创建,如果存在那么就重新加载页面内容。

你好像起始页用了iframe是吧?

这样的话,首先获取iframe外面的Ext

var myExt = top.Ext

var tabs = myExt.getCmp("你的Tabpanel id")//获取TabPanel

给你的“新增用户”添加onclick="javascript:addTab()"来触发下面的这个函数,

这个函数中则进行了添加新页签(且先判断了是否已存在该页签)

function addTab(){

var addUserPanel = tabs.getComponent(“addUser”)

if(!addUserPanel ){//先判断你需要打开的tab页是否已经打开

addUserPanel = new Ext.Panel({

id : “addUser”,

title : “新增用户",

iconCls: 'tabs',

tabTip : "新增用户",

closable : true,

html : "新增用户界面"

})

tabs.add(addUserPanel )

}

tabs.setActiveTab(addUserPanel )

}

首先要在treepanel中添加一个监听事件

listeners:{

click:function(n){

var url=n.attributes.url

var id=n.attributes.id

var p=center.getItem(id)

if(url){

if(p){

center.setActiveTab(p)

}else{

p=new Ext.Panel({

title:n.attributes.text,

renderTo:Ext.getBody(),

id:id,

html:'<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src='+url+'></iframe>',

closable:true

})

center.add(p)

center.setActiveTab(p)

}

}

}

}

然后定义节点,在节点中写上url属性

var relationship=new Ext.tree.TreeNode({id:"relationship",text:"隶属关系",url:"relationship.html"})

url中你可以在引用js填充到panel中


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11724287.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存