昨天有朋友说,在IE下有的时候ashx传过来的节点不能加载,其实我也出现这样的问题,很是烦人!
今天extjs上看到了一个解决方案,觉得很好:如果treeLoader加载失败,会继续加载,直到成功加载。
4.解决IE下非正常加载节点问题
即使从服务器取到大量的数据,也没有问题。
……
基本代码一样,只有js代码的loader小小的修改下:
loader:new Ext.tree.TreeLoader({ url:"json.ashx", listeners:{ "loadexception":function(loader,node,response){ node.loaded = false; node.reload.defer(10,node);//不停的加载,直到true } } })
5.使用TreeNodeUI
在node中我们可以用专门的类控制node的UI.
//TreeNodeUI的基本配置参数,node.getUI()=>TreeNodeUI
1.addClass("class")//添加css类
2.getAnchor()//返回a元素(对象),控制a链接
3.getIconEl()//返回img元素(对象),控制icon图标
4.getTextEl()//返回span元素(对象),控制节点文本
5.hide()
6.show()
7.removeClass()
我们来做个例子,不过我先推荐个网站extjs中文社区,感觉就是内容太少了
例子:动态改变节点的icon图标
关键js代码:
//以根节点为例
root.on("click",function(node){
node.getUI().getTextEl().innerHTML="点击后";//a元素(对象)
node.getUI().getIconEl().src="Image/add.gif";//img元素(对象)
});
效果图:
再来看看节点node.getUI().getTextEl()到底是什么?firebug下,
node.getUI().getIconEl()的内容:
其他类似.
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索对象
, node
, 节点
, 元素
, treepanel
, 控制
, getui
ext.TreePanel
,以便于您获取更多的相关知识。