0
嘗試通過更新視圖模型動態刷新多個kendo樹視圖控件的數據源。父節點被渲染,但子節點不會顯示。更新Kendo樹控件數據源MVVM不顯示子節點
HTML:
<div id="trees-vm">
<h1>Trees</h1>
<ul data-template="tree" data-bind="source: treesData"></ul>
</div>
<script id="tree" type="text/x-kendo-template">
<li>
<h2 data-bind="text: treeName"></h2>
<div data-role="treeview" data-bind="source: treeData"></div>
</li>
</script>
JS:
var viewModel = kendo.observable({
treesData:[],
setSource:function(){
var trees = [];
for (i = 1; i < 11; i++) {
var tree = {};
tree.treeName = 'Tree ' + i;
tree.treeData = [{ text: "Furniture", items: [
{ text: "Tables & Chairs" },
{ text: "Sofas" },
{ text: "Occasional Furniture" }
]},
{ text: "Decor", items: [
{ text: "Bed Linen" },
{ text: "Curtains & Blinds" },
{ text: "Carpets" }]
}];
trees.push(tree);
}
this.set('treesData', trees);
}
});
kendo.bind($("#trees-vm"), viewModel);
viewModel.setSource();
例如:https://jsfiddle.net/63hc9qdd/
是否有人知道爲什麼不起作用?
我認爲這個問題是你定義'treesData'爲空數組。 – whipdancer
由於數據源在用戶操作觸發後設置'setSource()' – bbg
,因此無法確認您正在使用的語法(http://demos.telerik.com/kendo-ui/mvvm/index),(http://docs.telerik.com/kendo-ui/api/javascript/data/observablearray),(http://docs.telerik.com/kendo-ui/api/javascript/data/observableobject #配置),(http://docs.telerik.com/kendo-ui/framework/mvvm/tutorials/forms) – whipdancer