全新的Kendo UI,并希望针对另一个UI框架进行评估。我有一个js数组,我想在树视图中填充。我将数组传递给在选择器上创建kendotreeview的函数。我需要在添加到HierarchicalDataSource之前转换数组。它在第一次传递时工作正常,但是当另一个对象被添加到数组中,并且我再次调用该函数时,树继续仅显示数组中的底部对象。这是代码:
var len = data.ar.length,
dAR = [];
for(var i = 0; i < len; i++) { // Transform my passed array into one appropriate for the tree
var v = data.ar[i],
iLen = v.items.length,
iAR = [],
dMap = {
text: v.type + ' (' + v.resultCount + ')',
child: v.child,
type: v.type,
items: iAR
};
for(var ii = 0; ii < iLen; ii++) {
var vv = v.items[ii],
iMap = {
text: vv.type + ' (' + vv.qty + ')',
child: vv.child,
par: vv.parent,
parentType: vv.parentType,
type: vv.type
};
dMap.items.push(iMap);
}
dAR.push(dMap);
}
var treeData = new kendo.data.HierarchicalDataSource({
data: dAR
});
var treeview = $(".searchResultsList").data("kendoTreeView");
if(treeview !== undefined) {
treeview.destroy();
}
$(".searchResultsList").kendoTreeView({
dataSource: treeData,
select: function(e) {
var itm = this.dataItem(e.node);
selectionChange(itm);
}
});
在向阵列添加其他对象之前,树会出现并正常运行。如果我将静态数据添加到HierarchicalDataSource,它可以很好地处理数组中的多个对象。这让我相信问题来自于我正在改变传递的数组内容的方式。任何帮助将不胜感激!