我有一个绑定到Kendo treeview
小部件的Kendo HierarchicalDataSource
对象。
HierarchicalDataSource
只是返回一个一级深度json格式的对象,但由于某些原因,它不会在treeview
中呈现。它只显示顶部节点"Dimensions",但展开时不渲染任何数据。
这是我的plunk树视图示例,其中包含index.html
和script.js
。
script.js仅供参考:$scope.dimenDataSource
是Kendo HierarchicalDataSource对象,它使用transport
属性来调用我的方法getDimensionsFromServer2
并指定schema
。
另一个仅供参考:在getDimensionsFromServer2()
中,我有两种返回测试数据的方法。dataFlat
var返回一个平面数组,该数组呈现为fine。data
对象具有嵌套数据,但不在树视图中呈现。
我不确定出了什么问题。
谢谢,Bob
****更新***
问题是schema
设置的位置不正确(见我的回答(:
settings.dimenDataSource = new kendo.data.HierarchicalDataSource({
transport: {
read: function(options){
datacontext.getDimensionsFromServer().then(function (data) {
var rootnode = [{ name: "Dimensions", items: data.data }];
options.success(rootnode);
});
},
schema: {
model: { children: "items" }
},
loadOnDemand: false
}
});
我的错误在于schema
的位置,我无意中将其放置在transport
选项中。它应该放在同一水平上,而不是在它里面
这是更正后的版本:
settings.dimenDataSource = new kendo.data.HierarchicalDataSource({
transport: {
read: function(options){
datacontext.getDimensionsFromServer().then(function (data) {
var rootnode = [{ name: "Dimensions", items: data.data }];
options.success(rootnode);
});
},
loadOnDemand: false
},
schema: {
model: { children: "items" }
}
});