我有一个Kendo UI树形视图,其中包含一些节点,这些节点通过触发ajax调用并返回一个数据数组来在expand上加载子级。这工作正常,我获取数据并将其绑定到树。
但是问题是在第一次扩展节点之后发生的,当我第一次扩展节点时,树的行为正确,并且一切都很好,但是,如果我再次折叠并扩展节点,树不会将其他节点向下推,扩展的节点与树中的所有其他图标重叠。
Expanded on first run
Second Expand
这种情况发生在我第二次运行时扩展的所有节点上。
这是我用来构建树的代码
$('#all-library-tree').kendoTreeView({
loadOnDemand: true,
dataSource: _masterTreeViewMasterObj.sort().reverse(), // top level nodes
dataTextField: "text",
expand: function (e) {
var treeView = $('#all-library-tree').data('kendoTreeView');
var dataItem = treeView.dataItem(e.node);
dataItem.load();
if (dataItem.children.data().length !== 0) return;
if (dataItem.id === -1) {
//get unused data children for node
GetUnUsedChildrenForRHSTree(dataItem.text, dataItem.children);
}
}
});
所以我能够通过添加dataItem.loaded(“ false”);来解决此问题。就在dataItem.load()之前;希望这对以后的人有所帮助。