初学extjs4,树异步加载有关问题,如何在当前点击的node后面插入子node
初学extjs4,树异步加载问题,怎么在当前点击的node后面插入子node?
小弟初学extjs,被搞的实在头疼,网上搜的很多例子都是2.x 3.x的,一开始不知道extjs版本差异也会有语法差异,
依葫芦画瓢把网上代码搬到自己程序里,怎么都运行不起来,也不知道哪里错了,崩溃
extjs的API没easyui好阅读,例子也少(突然觉得easyui好easy....)
好不容易慢慢摸索,有了点门道,现在能实现异步加载整个树了,代码如下:
getJson.action返回的json数据:{expanded: true,children: [{ text: "detention", leaf: true }, { text: "homework", expanded: true, children: [{ text: "book report", leaf: true },{ text: "alegrbra", leaf: true}] },{ text: "buy lottery tickets", leaf: true }]}
到这里为止,能显示一个小树了,但我想要的异步加载是点击父节点,发送ID到后台,查询所有子节点,加到父节点下面。
当然在后台处理json,改变老结构,变成带子节点的新json给tree重新加载确实可行,我现有js代码都不需要改了,
但是我想知道extjs这么强大的框架,应该有类似addNode,appendChild之类的方法,直接在点击节点下面插入子节点吧,
作为看不懂API的初学者,实在需要有经验的帮助一把啊,分不多,感激,有代码贴上来更好
------解决思路----------------------
ExtJS里面有个AsyncTreeNode,你搜索下
小弟初学extjs,被搞的实在头疼,网上搜的很多例子都是2.x 3.x的,一开始不知道extjs版本差异也会有语法差异,
依葫芦画瓢把网上代码搬到自己程序里,怎么都运行不起来,也不知道哪里错了,崩溃
extjs的API没easyui好阅读,例子也少(突然觉得easyui好easy....)
好不容易慢慢摸索,有了点门道,现在能实现异步加载整个树了,代码如下:
<script type="text/javascript">
Ext.onReady(function() {
var store = Ext.create('Ext.data.TreeStore', {
autoLoad : true,
proxy : {// 数据代理
type : 'ajax',
url : 'getJson.action'
}
});
var tree = Ext.create("Ext.tree.Panel", {
title : "Tree",
width : 300,
height : 300,
animate : true,
renderTo : divTree,//改为自己页面上的div名称
rootVisible: false,
store: store
});
});
</script>
getJson.action返回的json数据:{expanded: true,children: [{ text: "detention", leaf: true }, { text: "homework", expanded: true, children: [{ text: "book report", leaf: true },{ text: "alegrbra", leaf: true}] },{ text: "buy lottery tickets", leaf: true }]}
到这里为止,能显示一个小树了,但我想要的异步加载是点击父节点,发送ID到后台,查询所有子节点,加到父节点下面。
当然在后台处理json,改变老结构,变成带子节点的新json给tree重新加载确实可行,我现有js代码都不需要改了,
但是我想知道extjs这么强大的框架,应该有类似addNode,appendChild之类的方法,直接在点击节点下面插入子节点吧,
作为看不懂API的初学者,实在需要有经验的帮助一把啊,分不多,感激,有代码贴上来更好
------解决思路----------------------
ExtJS里面有个AsyncTreeNode,你搜索下