使用TreeLoader Extjs 3.4 Ext.tree.TreePanel

时间:2016-04-26 08:03:22

标签: extjs extjs3 treepanel

你能帮忙解决这个问题吗?为什么它没有加载我想要的数据。我设法添加孩子而不使用这个过程,但我想知道如何做到这一点。那么这就更好了,这就是为什么我想要这个。

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 "}]

我希望有人能在这里帮助我。

1 个答案:

答案 0 :(得分:0)

对于某些答案来说有点迟了,但我遇到了同样的问题,而且当json中缺少leaf属性时,渲染似乎无法正常工作。

这是一个工作小提琴:https://fiddle.sencha.com/#fiddle/1s5k&view/editor