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的主要内容,如果未能解决你的问题,请参考以下文章

Extjs-3.4 复选框组指定列中的复选框

ExtJS (3.4):更新 TabPanel 中面板的工具提示

ExtJS 3.4 中未加载数据

Extjs 3.4 应用切换器

ExtJS 3.4 在网格底部添加按钮

ExtJS 3.4 滑块控件