Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 剑道树视图:如何以编程方式设置中间状态_Angularjs_Kendo Ui_Kendo Treeview - Fatal编程技术网

Angularjs 剑道树视图:如何以编程方式设置中间状态

Angularjs 剑道树视图:如何以编程方式设置中间状态,angularjs,kendo-ui,kendo-treeview,Angularjs,Kendo Ui,Kendo Treeview,我正在尝试将剑道树视图与其他控件一起使用。树上的每个叶节点都会打开一个详细信息窗格。当我从“详细信息”窗格中选择所有元素时,我将该节点的状态设置为选中状态 myTree.dataItem(node).set("checked", true); 当所有项目都取消选中时,我将节点的状态设置为未选中 myTree.dataItem(node).set("checked", false); 但如果选择了某些项,我想将节点的状态显示为中间状态 我该怎么做呢。我在文档中找不到任何对我有帮助的东西。我找到

我正在尝试将剑道树视图与其他控件一起使用。树上的每个叶节点都会打开一个详细信息窗格。当我从“详细信息”窗格中选择所有元素时,我将该节点的状态设置为选中状态

myTree.dataItem(node).set("checked", true);
当所有项目都取消选中时,我将节点的状态设置为未选中

myTree.dataItem(node).set("checked", false);
但如果选择了某些项,我想将节点的状态显示为中间状态

我该怎么做呢。我在文档中找不到任何对我有帮助的东西。我找到的最接近的东西是

myTree.updateIndeterminate()

然而,它并没有做到这一点。显然,它根据子节点的状态设置状态。但在我的例子中,没有子节点。我在这里处理叶节点。是否可以将叶节点的状态设置为中间状态?如果是,怎么做?

找不到任何帮助。 最终使用了以下方法

现在,我正在查找与该特定节点关联的复选框,并使用jQuery将其设置为
不确定值

function SetTreeNodeIndeterminate(nodeId, set) {
  var uid = $("#" + nodeId).parents('li').attr('data-uid');
  var node = myTree.findByUid(uid);
  if (node.length == 0) return;
  var checkBox = $("#_" + uid);
  if (checkBox.length == 0) return;
  checkBox.prop('indeterminate', set);
  updateParentNodeState(node);
}
下一行确保节点的所有父节点也标记为不确定

function updateParentNodeState(node) {
  myTree.updateIndeterminate(node);
  let parentNode = myTree.parent(node);
  if (parentNode.length > 0)
    updateParentNodeState(parentNode);
}