extjs 异步加载树的构建

    在一个目录层次比较多的Tree中,一次性构造一棵树,不是一个好的实践,因为那样在Tree加载时,会耗用过多的时间,所以,利用异步的方式构建Tree就显得重要了。

    Ext.tree.TreePanel从机制上,提供了异步加载的机制,通过对‘beforeload’事件的响应:

var treeUrl ='url';
new Ext.tree.TreePanel({
...
   root : new Ext.tree.AsyncTreeNode({
				id:'root'
				}),

   listeners : {
	'beforeload':function(node){
		if(node.id == 'root')
		{
			tree.loader.dataUrl=treeUrl;
		}
		else
		{//Url和需要的参数
			tree.loader.dataUrl=treeUrl+'?id='+node.id+'&text='+encodeURI(encodeURI(node.text));//
		}
	}
	}
});

 ExtJS会自动的处理这个事件的调用:当TreeNode的leaf属性为false,第一次打开时,就调用所定义的url,加载下级数据,且这个数据只加载一次。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值