You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GoJs一键关闭所有根节点问题:组织图无法完全折叠分支

解决GoJS组织图完全折叠所有分支的问题

你当前的collapseTree(3)方法只会将根节点下的树折叠到第三层,无法覆盖内部根节点和搜索展开的深层分支。要实现所有分支完全关闭,直接遍历所有节点并设置折叠状态即可:

function collapseAllNodes() {
  var input = document.getElementById('mySearch');
  if (input) input.value = ''; // 清空搜索框
  myDiagram.startTransaction('collapse all');
  // 遍历图中所有节点,将展开状态的节点设为折叠
  myDiagram.nodes.each(function(node) {
    if (node.isTreeExpanded) {
      node.isTreeExpanded = false;
    }
  });
  myDiagram.commitTransaction('collapse all');
}

说明:

  • myDiagram.nodes.each()会遍历图中所有节点,不管其在树结构中的层级位置
  • 检查node.isTreeExpanded确保只修改处于展开状态的节点,避免无效操作
  • 事务包裹操作保证图表状态更新的原子性,避免界面闪烁

如果你的组织图存在多个独立根节点,这种方法也能统一处理所有分支的折叠,彻底解决之前残留展开节点的问题。

内容的提问来源于stack exchange,提问作者Janae Fairbourn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 22:54:56