我目前正试图让Kendo TreeView显示一些JSON数据。
var treeViewDataSource = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: "/Utilities/Tool/Get/TreeView",
type: "get",
dataType: "json"
}
}
});
$("#tree-view").kendoTreeView({
loadOnDemand: false,
dataSource: treeViewDataSource,
select: onSelect
});
我的JSON数据如下所示:
[{
"text": "CREATE",
"description": "Create Transaction",
"items": [
{
"text": "PSEUDO",
"feature": "CREATE",
"items": [
{
"text": "FIX",
}
],
"nodeChildren": 1
}
],
"nodeChildren": 1
},
{
"text": "DATA",
"description": "Data Report",
"items": [],
"nodeChildren": 0
}]
现在,奇怪的是,如果我将上述JSON数据复制并粘贴到kendo DataSource而不是远程调用它,TreeView就会很好地显示数据。当我远程调用数据时,TreeView只显示第一层节点,看起来像这样:
CREATE
DATA
在桌子加载时短暂的一秒钟,可以看到指示节点是否有孩子的小箭头,但这些很快就会消失。我不确定发生了什么,而且Kendo文档不是很有帮助。为什么剑道不能正确读取这些数据?我使用Postman测试API,JSON对我来说看起来非常好,如果在本地复制,则可以正常工作。是什么给了什么?
由于
答案 0 :(得分:1)
我找到了解决问题的方法,我所要做的就是弄乱架构,尽管我还不完全了解架构的工作原理。
var treeViewDataSource = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: "/Utilities/Tool/Get/TreeView",
type: "get",
dataType: "json"
}
},
schema: {
model: {
children: "items"
}
}
});
我所要做的就是定义儿童场。