Extjs 3.4 Ext.tree.TreePanel 与 TreeLoader
Posted
技术标签:
【中文标题】Extjs 3.4 Ext.tree.TreePanel 与 TreeLoader【英文标题】:Extjs 3.4 Ext.tree.TreePanel with TreeLoader 【发布时间】:2016-04-26 08:03:22 【问题描述】:你能帮忙处理这段代码吗?为什么它没有加载我想要的数据。我设法在不使用此过程的情况下添加孩子,但我想知道如何做到这一点。好吧,无论如何这更好,这就是我想要这个的原因。
db_switcher.app.tree = new Ext.tree.TreePanel(
renderTo: 'treePanel',
useArrows: true,
autoScroll: true,
animate: true,
enableDD: true,
containerScroll: true,
border: false,
width: 300,
// auto create TreeLoader
//dataUrl: 'get-nodes.php',
//root:
// nodeType: 'async',
// text: 'Database',
// draggable: true,
// id: 'source',
// children: []
//
loader: new Ext.tree.TreeLoader(
dataUrl: 'db_switcher/data'
//requestMethod: 'POST'
//listeners:
// beforeload: function()
// this.baseParams.subFolderID = clickedVal;
//
//
),
root: new Ext.tree.AsyncTreeNode(
expand: true,
text: "/",
id: "/"
),
);
db_switcher.app.tree.getRootNode().expand();
这是确切的数据形式:
["db_id":1,"db_host":"xx.xxx.x.xxx","db_name":"service_management","db_user":"xxx","db_driver":"mysql ","db_id":2,"db_host":"xx.xxx.x.xxx","db_name":"support_tool","db_user":"xxx","db_driver":"pgsql "]
我希望有人可以在这里帮助我。
【问题讨论】:
编辑数据:[ "id":1, "text":"xx.xxx.x.xx (service_management)","leaf":true , "id":2, "text":"xx.xxx.x.xx(support_tool)", "leaf":true ] loader 没有自动加载,所以你必须db_switcher.app.tree.getLoader().load()
它。
以下行仅产生此错误“TypeError: b is undefined”@Michel
你应该在 fiddle 中构建一个测试用例,这样测试起来会更容易。
【参考方案1】:
有些答案有点晚了,但我遇到了同样的问题,当 json 中缺少叶子属性时,渲染似乎无法正常工作。
这是一个工作小提琴:https://fiddle.sencha.com/#fiddle/1s5k&view/editor
【讨论】:
以上是关于Extjs 3.4 Ext.tree.TreePanel 与 TreeLoader的主要内容,如果未能解决你的问题,请参考以下文章