0

全新的 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,它适用于数组中的多个对象。这让我相信问题出在我转换传递的数组内容的方式上。任何帮助,将不胜感激!

4

0 回答 0