在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)
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)