(原创文章,转载请注明出处)
首先生成Json格式的字符串(写了一个TreeNode对象,专门生成这种格式的字符串):
[
{text:'用户管理',leaf:false,children:
[
{text:'建立用户',leaf:false,children:
[
{text:'用户设置',
href:'/myapp/app?page=destPage
&service
=external',
hrefTarget:'listFrame',leaf:true}
]
},
{text:'历史查询',leaf:true}
]
}
]
使用Ext.tree.TreePanel生成树视图:
var
Tree
=
Ext.tree;
//
系统管理菜单树
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
var
xtglTree
=
new
Tree.TreePanel(
...
{
el:'xtgl',
animate:true,
autoScroll:true,
loader: new Tree.TreeLoader(),
enableDD:false,
containerScroll: true,
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
dropConfig: ...{appendOnly:true},
rootVisible:false
}
);
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
//
json格式的字符串放在html页面的元素value属性中
var
json
=
Ext.get(
"
xtglMenu
"
).getAttributeNS(
""
,
"
value
"
);
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
var
root_xtgl
=
new
Tree.AsyncTreeNode(
...
{
text: '功能树',
draggable:false, // disable root node dragging
id:'xtglRoot',
children:JSON.decode(json)
}
);
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
xtglTree.setRootNode(root_xtgl);
//
render the tree
xtglTree.render();
root_xtgl.expand(
false
);
生成的树如下图:![](https://p-blog.csdn.net/images/p_blog_csdn_net/selley/tree1.png)
一切都这么简单。