在这里,我遇到了一个奇怪的问题,当我从json文件加载树时,它会进入循环并按以下方式显示树(在连续循环中)

-A
  -A
    -A
      -A


我的json

{
    "success": true,
    "results": [
        { "text": "number 1", "leaf": true },
        { "text": "number 2", "leaf": true },
        { "text": "number 3", "leaf": true },
        { "text": "number 4", "expanded": true, "children":[
            { "text": "number 4.1", "leaf": true },
            { "text": "number 4.2", "leaf": true },
            { "text": "number 4.3", "leaf": true }
        ]},
        { "text": "number 5", "leaf": true }
    ]
}


我的模特

Ext.define('App.model.TreeModel', {
    extend:'Ext.data.Model',
    fields: [
             { name: 'text', type: 'string'}
         ],

        proxy:{
            type:'ajax',
            url: 'data/tree.json',
            reader:{
                type:'json',
                root:'results'
            }
        }
    });


商店

Ext.define('App.store.MyTreeStore', {
    extend: 'Ext.data.TreeStore',
    requires: 'App.model.TreeModel',
    model:'App.model.TreeModel',
});


视图

Ext.define('App.view.MeetingTree', {
    extend:'Ext.tree.Panel',
    title:'Simple Tree',
    store:'MyTreeStore',
    alias:'widget.meetingtree',
    rootVisible:false,
    height:200
});


我的初始化文件

Ext.application({
    name: 'App',
    autoCreateViewport: true,

    models: ['TreeModel'],
    stores: ['MyTreeStore'],

    launch: function() {

    }
});


没有线索为什么循环播放..有人知道吗?

提前致谢

最佳答案

终于找到了解决方案

删除线

root:'results'


从模型

然后用

{
text: '.',
children: [{


完整的json

{
text: '.',
children: [{
    text:'Basic Ext Layouts',
    expanded: true,
    children:[{
        text:'Absolute',
        id:'absolute',
        leaf:true
    },{
        text:'Accordion',
        id:'accordion',
        leaf:true
    },{
        text:'Anchor',
        id:'anchor',
        leaf:true
    },{
        text:'Border',
        id:'border',
        leaf:true
    },{
        text:'Card (TabPanel)',
        id:'card-tabs',
        leaf:true
    },{
        text:'Card (Wizard)',
        id:'card-wizard',
        leaf:true
    },{
        text:'Column',
        id:'column',
        leaf:true
    },{
        text:'Fit',
        id:'fit',
        leaf:true
    },{
        text:'Table',
        id:'table',
        leaf:true
    },{
        text:'vBox',
        id:'vbox',
        leaf:true
    },{
        text:'hBox',
        id:'hbox',
        leaf:true
    }]
},{
    text:'Custom Layouts',
    children:[{
        text:'Center',
        id:'center',
        leaf:true
    }]
},{
    text:'Combination Examples',
    children:[{
        text:'Absolute Layout Form',
        id:'abs-form',
        leaf:true
    },{
        text:'Tabs with Nested Layouts',
        id:'tabs-nested-layouts',
        leaf:true
    }]
}]
}

关于json - extjs使用MVC从json文件加载树,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9159627/

10-11 22:02
查看更多