jquery - 遍历所有数据项(所有 kendo ui Treeview 节点)

标签 jquery kendo-ui kendo-treeview

我试图简单地循环遍历 Kendo ui Treeview 中的所有节点。
当前 GetNodes() 返回的不是函数。我如何访问该列表?
我也试过 .get_allNodes(); - 树是准确的,只是不要从哪里迭代当前节点。

let tv = $("#tree").data("kendoTreeView");

 let nodes = tv.GetNodes();
    console.log(nodes);
    for (var i = 0; i < nodes.length; i++) {
        if (nodes[i].get_nodes() != null) {
          console.log(nodes[i]);

            let item = tv.dataItem(nodes[i]);
            console.log(item);

            let hasChildren = item.hasChildren;    
            console.log(hasChildren);
  
            if (hasChildren = false){
              tv.remove(item);
            }
        }
    }
我的安慰 Treeview 我看到了这个......
enter image description here

最佳答案

我根本不知道 Kendo ,所以我阅读了文档,希望对你有所帮助。
我通过文档重新创建了一个最小的例子,它可以工作。我递归地读取数据源及其所有子项。

$(document).ready(function() {
    $("#treeView").kendoTreeView({
        dataSource: [
            {
                text: "Item 1",
                items: [
                    { text: "Item 1.1" },
                    { text: "Item 1.2" }
                ]
            },
            { text: "Item 2" }
        ]
    });
    
    
    var treeView = $("#treeView").data("kendoTreeView");
     
    function recursiveReading(nodes) {
      for (var i = 0; i < nodes.length; i++) {
        console.log(nodes[i].text);

        if (nodes[i].hasChildren)
          recursiveReading(nodes[i].children.view());

      }
    }

    recursiveReading(treeView.dataSource.view());
    
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://kendo.cdn.telerik.com/2020.3.915/styles/kendo.common.min.css" rel="stylesheet" />
<script src="https://kendo.cdn.telerik.com/2020.3.915/js/kendo.all.min.js"></script>


<ul id="treeView">

</ul>

关于jquery - 遍历所有数据项(所有 kendo ui Treeview 节点),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64080919/

相关文章:

kendo-ui - 从 Kendo 网格数据填充 Kendo Treeview

jquery - PreventDefault 在第二次单击时不起作用

javascript - 在 X 轴上添加自定义点 - Kendo UI

javascript - jquery 替换悬停时的菜单项文本

javascript - 将Kendo Grid列显示为DateTime,但过滤时忽略Time

javascript - 如何使用 JavaScript 并在 Kendo UI 模板中打印结果?

javascript - 从kendo UI DataSource获取原始数据

kendo-ui - Kendo 分层数据源

javascript - 弹出 slider 在 IE 中不起作用。我的代码有什么问题?

jquery - 为我解释一下 bootstrap-alert.js?