如何在extJs中的TreeStore中放置静态JSON

时间:2017-02-07 14:49:37

标签: javascript json extjs

我正在尝试在我的treeStore中放置一个JSON。

ExtJs版本 - 4.0.7

JSON我有::

var output = [{"name":"2","children":[{"name":"2.1","children":[]}]},{"name":"Accessories","children":[{"name":"Bracket","children":[]},{"name":"Clamp","children":[]}]},{"name":"Actuator","children":[{"name":"Accessories","children":[{"name":"Bracket","children":[]}]}]}]

代码::

var store = Ext.create('Ext.data.TreeStore', {
    proxy: {
        type: 'memory',
        reader: {
            type: 'json',
            id:'text'
        }
    },
    root: {
            expanded: true,
            children: []
        }

});



var rootNode = store.getRootNode();
rootNode.appendChild(JSON.stringify(output));

Ext.create('Ext.tree.Panel', {
    title: 'Simple Tree',
    width: 200,
    height: 150,
    store: store,
    rootVisible: false,
    renderTo: Ext.getBody()
});

提前致谢

1 个答案:

答案 0 :(得分:0)

尝试将JSON字符串中的name更改为text。此外,您无需致电JSON.StringifyrootNode.appendChild(JSON.stringify(output))应为rootNode.appendChild(output)。此外,您可以使用children:[]代替{J}字符串中的leaf:true,因为它将在树状窗格中正确显示。

请参阅小提琴here