我试图简单地循环遍历 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 我看到了这个......最佳答案
我根本不知道 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/