Javascript 树在DOJO中不显示
我是Dojo1.6的新手 我正在尝试显示包含子文件夹的树Javascript 树在DOJO中不显示,javascript,dojo,digit,Javascript,Dojo,Digit,我是Dojo1.6的新手 我正在尝试显示包含子文件夹的树 dojo.require("dojo.data.ItemFileWriteStore"); dojo.require("dijit.form.Button"); dojo.require("dijit.tree.TreeStoreModel"); dojo.require("dojo.store.Memory"); dojo.require("dijit.Tree");
dojo.require("dojo.data.ItemFileWriteStore");
dojo.require("dijit.form.Button");
dojo.require("dijit.tree.TreeStoreModel");
dojo.require("dojo.store.Memory");
dojo.require("dijit.Tree");
dojo.addOnLoad(function() {
// Create test store, adding the getChildren() method required by ObjectStoreModel
var data = [ { id: 1, name: "answerTypeLabel", type:'scenario', children:[{_reference: 2}]},
{ id: 2, name: "acceptRequestLabel", type:'paragraph', data: "acceptRequestLabel"},
{ id: 3, name: "rejectRequestLabel", type:'scenario', children:[{_reference: 5},{_reference: 6}]},
{ id: 4, name: "MoreInformationLabel", type:'scenario', children:[{_reference: 7},{_reference: 8}]},
{ id: 5, name: "rejectRequestStatusLabel", type:'paragraph', data: "rejectRequestStatusLabel"},
{ id: 6, name: "rejectRequestNotCoveredLabel", type:'paragraph', data: "rejectRequestNotCoveredLabel" },
{ id: 7, name: "MoreInformationDocumentLabel", type:'paragraph', data: "MoreInformationDocumentLabel"},
{ id: 8, name: "MoreInformationDataLabel", type:'paragraph', data: "MoreInformationDataLabel"}
];
// Building the store object
var sortableStore = new dojo.data.ItemFileWriteStore({
data: {
identifier: 'id',
label: 'name',
items: data
},
});
// building the model
var model = new dijit.tree.ForestStoreModel({
store: sortableStore,
query: {
id: "*"
},
rootId: "root",
rootLabel: "sorting of tree"
});
// Building the tree
var tree = new dijit.Tree({
model:model,
'class': "tundra"
},
"resourceTree");
});
此处Id 2位于Id 1的子级中,因此显示Id 2时必须位于Id 1内。
但在这里,ID2出现在ID1内部,也出现在ID1的同一级别上(所有子Id都有一个副本)。
这是id为2,5,6,7,8的情况
我想删除重复项
输出应该像
原因是您在树上应用了一个非层次存储,该树不应显示父项作为根的同级项的项目 要“修复”此问题,引用id的需要通过
模型查询
不匹配
对于数据,它看起来像是类型:'paragration'
应该是leaves。因此,将查询设置为匹配类型:'scenario'
,而不是当前的'id:'*''
哦,是的。。我的错。。谢谢:)现在必须使用对存储服务器端imo进行排序
var model = new dijit.tree.ForestStoreModel({
store: sortableStore,
query: {
type:'scenario'
},
rootId: "root",
rootLabel: "sorting of tree"
});