如何从JSON创建树[林树模型] ......?

时间:2014-04-22 14:53:09

标签: dojo dijit.tree

以下是我的JSON。我试图用这个创建一棵树, 我尝试使用以下代码段:

require(["dijit/Tree", "dojo/data/ItemFileReadStore", "dijit/tree/ForestStoreModel", "dojo/domReady!"],
        function(Tree, ItemFileReadStore, ForestStoreModel){
    var store = new ItemFileReadStore({
        url: "/om/web/em/tree.json"
 });

    var treeModel = new ForestStoreModel({
        store: store,
        query: {id: 'aid'},
        rootId: "PSS-32",
        rootLabel: "P",
        childrenAttrs: ['eqList']
    });

    var myTree = new Tree({
        model: treeModel
    }, "treeOne");
    myTree.startup();
});

但是这给我加载错误PSS010010026024儿童和消息:"无法读取属性'长度'未定义的错误,应该在rootID,rootLabel和childrenAttrs中指定什么?

[
        {
        "responseStatus": null,
        "entityType": "NODE",
        "aid": "p",
        "id": "p",
        "hsa": null,
        "eqList":[ {
        "responseStatus": null,
        "EId": "5",
        "EGroupId": "1006",
        "aid": "p",
        "additionalInfo": null,
        "eqList": [
        {
        "responseStatus": null,
        "EId": null,
        "EGroupId": null,
        "aid": null,
        "additionalInfo": null,
        "eqList": null,
        "shelfType": null,
        "isEqAvailable": null,
        "id": null,
        "entityType": null,
        "hsa": null,
        "Elist": null
        }
        ],
        "shelfType": null,
        "isEqAvailable": null,
        "id": "p/p",
        "entityType": "E",
        "hsa": "-",
        "Elist": null
        {
        "responseStatus": null,
        "EId": "5",
        "EGroupId": "1006",
        "aid": "p#OCS",
        "EType": "1830pss-ocs",
        "ERelease": "7.0",
        "additionalInfo": null,
        "eqList": [
        {
        "responseStatus": null,
        "EId": null,
        "EGroupId": null,
        "aid": null,
        "EType": null,
        "ERelease": null,
        "additionalInfo": null,
        "eqList": null,
        "shelfType": null,
        "isEqAvailable": null,
        "id": null,
        "entityType": null,
        "hsa": null,
        "Elist": null
        }
        ],
        "shelfType": null,
        "isEqAvailable": null,
        "id": "p/p#OCS",
        "entityType": "E",
        "hsa": "-",
        "Elist": null
        }
        ]
        }
        ]

1 个答案:

答案 0 :(得分:0)

rootID属性是您要为将要创建的根项目提供的ID(以便您以后可以查询它或检查您的树是否位于顶层)。 rootLabel是你想要的root属性的标签。 childrenAttrs就是你如何告诉Tree特定节点的孩子在哪里。

我不确定您在代码中尝试做什么,因为您的数据似乎没有PSS010010026024,但我建议您在这里查看ForestTreeModel的API文档:http://dojotoolkit.org/api/?qs=1.9/dijit/tree/ForestStoreModel