ext treepanel中设置root名称和url地址刷新的时候。根节点没有变为什么?

//这是一个函数,通过选择下拉框里面的条目动态改变树的内容,传递的是URL和根节点元素名称,程序执行完毕后,根节点名称没有变化,url部分内容发生了变化,是什么原因导致根... //这是一个函数,通过选择下拉框里面的条目动态改变树的内容,传递的是URL和根节点元素名称,程序执行完毕后,根节点名称没有变化,url部分内容发生了变化,是什么原因导致根节点名称没有变呢。。应该怎样修改?

function doSelect(selectUrl,newRootText){
zmlTree.root.text =newRootText;
zmlTree.loader.dataUrl = "data/"+selectUrl;
//zmlTree.getRootNode().reload() ;
zmlTree.root.reload() ;
}
展开
 我来答
心有魔债KB
2014-08-26 · TA获得超过158个赞
知道小有建树答主
回答量:206
采纳率:0%
帮助的人:157万
展开全部
因为你的根节点是已经定义好了的,所以不会改变,你只能改变你的父节点和子节点,如果想改变的话就把你定义tree的时候,root赋值给一个变量,,然后每次改变的时候就reload整个zmlTree!
追问
这是我定义的 root根节点
var zmlRoot = new Ext.tree.AsyncTreeNode({
id : '00',
text : '电子交互手册',
expanded : true
});
修改里面的text文字的话应该是 zmlRoot.text = "测试名称";
怎么对整个树进行刷新?
追答
var Tree = Ext.tree;   

deptTree = new Tree.TreePanel({
el : elementId,
autoScroll:true,
animate:true,
enableDD:true,
containerScroll: true,
loader: new Tree.TreeLoader({
dataUrl: CONTEXT_PATH + "/depts/deptTree.do",
baseParams: filter
})
});

// set the root node
root = new Tree.AsyncTreeNode({
text: rootDesc,
draggable:false,
id:'-1'
});
deptTree.setRootNode(root);

// render the deptTree
deptTree.render();
root.expand();

ext js 重新加载树

Js代码
/**
* 重新加载树
*
* @param {f}
* f 过滤树的条件 如:{placeid:'xxxxx'}
*/
reload : function (f){
filter = f;

var loader = deptTree.getLoader();
deptTree.on('beforeload', function(){
loader.dataUrl = loader.dataUrl ;
loader.baseParams = filter;
});
root.reload();
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式