我有一个来自 WebApi 的数据源 - 请在 JSON 字符串下方找到 - 我想在Kendo UI Treelist中显示它。我正在使用 Angular 版本。
我一直试图弄清楚为什么它对我不起作用几个小时。TreeList 总是说“请求失败”。有些东西我还看不到。控制台上没有错误,我无法调试,因为我使用的是缩小版。
另一方面,我有几个问题:
- 我是否正确理解架构中的Id、ParentId属性描述了记录之间的父子关系?
- 如果是这样,那么我想移交 TreeList 的数据应该是一个普通对象列表,其中:每个项目都应该包含一个 Id ParentId 数据,或者可以按照示例中的描述进行映射的等效项。
来自 WebApi 的 Json:
[{
"Id": 10,
"Name": "tiz",
"ParentId": null
},
{
"Id": 20,
"Name": "husz",
"ParentId": null
},
{
"Id": 30,
"Name": "harm",
"ParentId": 10
},
{
"Id": 40,
"Name": "negyv",
"ParentId": 20
}]
角码:
function activate() {
vm.treeOptions = {
dataSource: {
transport: {
read: {
url: configurationService.goNoGoWebApiRootUrl + 'WorkItemClassificationNode/Get2/Depth',
dataType: "jsonp"
},
parameterMap: function (options, operation) {
if (operation !== "read" && options.models) {
return { models: kendo.stringify(options.models) };
}
}
},
schema: {
model: {
id: "Id",
parentId: "ParentId",
fields: {
Id: { type: "number", editable: false, nullable: true },
ParentId: { type: "number", editable: false, nullable: true },
Name: { type: "string", editable: false, nullable: true }
}
}
}
},
sortable: false,
editable: false,
columns: [
{field: "Id", title: "Id", width: "150px"},
{field: "Name", title: "Name", width: "500px"},
{field: "ParentId", title: "ParentId", width: "100px"}
]
}
}