gpt4 book ai didi

javascript - KendoTreeView 在二级层次中需要什么数据格式?

转载 作者:行者123 更新时间:2023-12-03 22:52:20 25 4
gpt4 key购买 nike

我正在使用 KendoUI Web 并设置了具有两个层次结构的 TreeView,这些层次结构使用 DataSource 的传输选项从 CRUD 服务加载数据:

var Level2 = kendo.data.Node.define({
id: "Level2_Id",
hasChildren: false,
fields: {
"Level2_Id": { type: "number" },
"Name": { type: "string" },
"Level1_Id": { type: "number" }
}
});

var level2DataSource = {
transport: {
read: {
url: "/service/level2",
type: "get",
dataType: "json"
},
create: {
url: "/service/level2",
type: "post",
dataType: "json"
}
},
schema: {
model: Level2
}
};

var Level1 = kendo.data.Node.define({
id: "Level1_Id",
hasChildren: true,
fields: {
"Level1_Id": { type: "number" },
"Name": { type: "string" },
},
children: level2DataSource,
});

var level1DataSource = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: "/service/level1",
type: "get",
dataType: "json"
},
create: {
url: "/service/level1",
type: "post",
dataType: "json"
}
},
schema: {
model: Level1
}
});

var myTreeview = $("#treeview").kendoTreeView({
dataSource: leaguesDataSource,
template: kendo.template($("#treeview-template").html())
});

读取数据在两个级别上都可以正常工作。

创建新项目是通过在 TreeView 上调用 .append() 然后在级别 1 数据源上调用 .sync() 来完成的。
这会导致对我的服务的 POST 请求返回新的 JSON 对象。 Treeview 更新得很好。

但是,当在第 2 级执行相同的操作时, Treeview 将删除所有项目并仅显示新项目附加到的第 1 级项目的第 2 级子项。

GET 请求返回 1 级或 2 级项目的 JSON 数组,例如
result of /service/level1
[
{Level1_Id:1,Name:"Item 1"},
{Level1_Id:2,Name:"Item 2"},
{Level1_Id:3,Name:"Item 3"},
]

result of /service/level2
[
{Level2_Id:1,Name:"Item 2.1",Level1_Id:2},
{Level2_Id:2,Name:"Item 2.2",Level1_Id:2}
]

POST 请求返回相同格式的单个对象。

我需要在我的服务中返回什么格式才能在附加项目后在级别 2 上正确更新 Treeview ?

预期结果:
- Item 1
- Item 2 (append here)
- Item 2.1
- Item 2.2 (new item)
- Item 3

POST请求后的实际结果:
- Item 2.1
- Item 2.2 (new item)

最佳答案

你的语法不对。你必须写
schema:{model:{id: "IdLevel", children: "items", hasChildren: "hasChildren"}}
带有分层数据。

例如,您必须拥有这样的数据:

 [
{ categoryName: "SciFi", items: [
{ movieName: "Inception", rating: 8.8 },
{ movieName: "The Matrix", rating: 8.7 }
] },
{ categoryName: "Drama", hasAssignedMovies: true }]

关于javascript - KendoTreeView 在二级层次中需要什么数据格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31791047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com