我正在尝试使用列表视图将数据添加到本地 json 变量中。我已经将我的数据数组封装在一个 kendo 数据源中,这是我的视图模型的一部分。
问题是,当到达传输中的“创建”操作时,我的本地数组还没有更新,但我的 viewmodel.dataSource.data 实际上是。当达到传输中的创建操作时,如何更新我的本地数据数组。
这是我的代码的Jsfiddle。
var data =
[{
"ID": 3,
"TopMenuId": 2,
"Title": "Cashier",
"Link": "www.fake123.com"
},
{
"ID": 4,
"TopMenuId": 2,
"Title": "Deposit",
"Link": "www.fake123.com"
}
];
var viewModel = kendo.observable({
dataSource: new kendo.data.DataSource({
transport: {
read: function (options) {
alert("Read");
options.success(data);
},
create: function (options) {
debugger;
alert("Create");
alert(data.length);
},
update: function (options) {
alert("Update");
},
destroy: function (options) {
alert("Destroy");
alert(data.length);
}
},
batch: true,
pageSize: 4,
schema: {
model: {
id: "ID",
fields: {
ID: {
editable: false,
nullable: true
},
TopMenuId: {
editable: false,
nullable: true
},
Title: {
editable: true,
validation: {
required: true
}
},
Link: {
editable: true
}
}
},
data: "",
total: function (result) {
result = result.data || result;
return result.length || 0;
}
},
}),
});
//kendo.init($("#briefOverview"));
$(document).ready(function () {
kendo.bind($("#briefOverview"), viewModel);
$(".k-add-button").click(function (e) {
var listView = $("#listsContainer").data("kendoListView");
listView.add();
e.preventDefault();
});
});