javascript - 如何在不折叠的情况下禁用所有 Kendo TreeView 节点
问题描述
我将 kendo.ui.TreeView 用于 jQuery。我用复选框和子对象创建了树:
$("#my-tv-1").kendoTreeView({
dataSource: data,
checkboxes: {
checkChildren: true
},
loadOnDemand: false
}).data("kendoTreeView");
let data = [
{ text: "Item 1", id: 1 },
{ text: "Item 2", id: 2 },
{
text: "Item 3", expanded: true, items: [
{ text: "Subitem 1", id: 10 }
]
}
];
如何在没有折叠节点的情况下禁用所有节点(或所有树视图)?当我使用“启用”方法时,所有具有子元素并已展开的节点都会折叠。
function() {
let treeview = $("#my-tv-1").data("kendoTreeView");
// Disable all items
treeview.enable(false);
// or any node
let n = treeview.dataSource.view()[2];
treeview.enable(n, false);
}
解决方案
要禁用,您可以执行以下操作,以便展开的节点不会折叠:
treeview.element.find('input.k-checkbox').each(function() {
$(this).attr('disabled', 'true');
});
treeview.element.find('span.k-in').each(function() {
$(this).addClass('k-state-disabled');
});
treeview.element.find('span.k-i-collapse').each(function() {
$(this).addClass('k-state-disabled');
});
要重新启用它们:
treeview.enable(true);
推荐阅读
- python - 如何在熊猫中设置行范围?
- javascript - 如何从 VSCode 调试器调用异步函数?
- python - Python:TypeError:只能将str(不是“int”)连接到str:变量存储错误
- java - 如何恢复显示预购 bst?
- android - BillingClient.launchBillingFlow 期间 Android Play 商店崩溃
- javascript - 如何保持可折叠项目的位置?
- python - 如何在 python 中访问 Pool.map 中的全局变量
- vba - 通过 SQL 存储过程记录集访问 VBA 循环进入子表单
- python-3.x - 无法为个人项目从多个页面抓取数据
- python - 在类中访问 __attr 时,名称修饰如何工作?