EXTJS4之TreePanel

在EXTJS4中,对3.x中的组件也做了部分的调整和功能上的改进。本文中咱们主要来看一下。tree组件在3.x和4中的区别。
1、3.x中当我们想让我们的tree通过异步加载数据时,我们必须将我们的root节点设置成异步节点(AsyncTreeNode),然后在我们的treeloader的beforeload事件中,做加载前的参数设置。如果,我们不将其root设置为异步节点,那么我们的tree将不能完成异步加载

而在4中,我们将不用担心因为root不是异步节点,而实现不了异步树。4中将不区分异步节点,同步节点的概念。

2、在ext4中的ext.tree包中。将没有treenode类,而是用ext.data.NodeInterface,代替之前的treenode类,类中的属性及方法,大致和treenode相同。

3、在ext4中,新增加了一个ext.data.TreeStore类,用来代替之前的treeloader类。

以上就是4中的tree与3.x中的tree的几点区别,下面,我们用一个完整的例子,看一下,4中tree组件生成的基本写法。

//创建树的数据源
var store = Ext.create('Ext.data.TreeStore', {

autoLoad:true,

proxy: {

type: "ajax",

url: "data/d3.aspx"

},

root: {
id:"",
text: 'Root',
expanded: true

},

listeners: {

//注意beforeload的参数。与3.x中的不同
beforeload: function (ds, opration, opt) {

opration.params.nodeid = opration.node.data.id;//获得节点的相应属性,也有所不同

opration.params.name = opration.node.data.text;

}

}
});

var tree = Ext.create('Ext.tree.Panel', {
renderTo: Ext.getBody(),
title: 'TreeGrid',
width: 300,
rootVisible: false,
height: 150,
store: store
});


如果,我们的树是同步树,我们只需要将treeStore中的proxy属性去掉,然后,在root中写上相应的节点数据就好。

以上是我发现的treepanel在4与3.x中的区别( http://blog.sina.com.cn/s/blog_7778950d0100xn9x.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值