小编Dev*_*oni的帖子

Kendo Treeview扩大了大树问题

我使用kendo创建了一个树控件TreeView.it有超过10,000个节点,我在创建Tree时使用了loadOnDemand false.我提供了一个功能来扩展树的级别,为此我创建了一个方法,将参数"级别"作为数字并相应地扩展它,用户可以输入15(最大级别)到方法,它工作正常所有级别的500到600个节点,但是当树具有超过5000个节点时,如果用户尝试扩展到第二级节点之上,则浏览器挂起并显示没有响应错误.

我创建的用于扩展树的方法是: -

function ExapandByLevel(level, currentLevel) {
  if (!currentLevel) { 
    currentLevel = 0;
  }
  if (level != currentLevel) {
    var collapsedItems = $("#treeView").find(".k-plus:visible"); 
    if (collapsedItems.length > 0) {
        setTimeout(function () {
            currentLevel++;

            var $tree = $("#treeView");
            var treeView = $tree.data("kendoTreeView");

            var collapsedItemsLength = collapsedItems.length;
            for (var i = 0; i < collapsedItemsLength; i++) {
                treeView.expand($(collapsedItems[i]).closest(".k-item"));
            }
            ExapandByLevel(level, currentLevel);
        }, 100);
    }
    else {
        //console.timeEnd("ExapandByLevel");
        hideLoading();
    }
  }
  if (level == currentLevel) {

    hideLoading();
  }
}
Run Code Online (Sandbox Code Playgroud)

调用以上给定的方法如下: -

ExapandByLevel(15);
Run Code Online (Sandbox Code Playgroud)

这里15是在树中扩展的级别. …

javascript treeview kendo-ui

7
推荐指数
1
解决办法
4175
查看次数

标签 统计

javascript ×1

kendo-ui ×1

treeview ×1