diff --git a/src/utils/treeCascade.ts b/src/utils/treeCascade.ts index 6e1319f..33a71ca 100644 --- a/src/utils/treeCascade.ts +++ b/src/utils/treeCascade.ts @@ -77,8 +77,10 @@ export function setAppModulesChecked(app: { modules?: ModuleVo[] } | null | unde export function checkNodeWithCascade(treeObj: any, node: any, checked: boolean): void { if (!treeObj || !node) return; const set = (n: any, v: boolean) => { - n.checked = v; if (!v && n.inheritFlag !== undefined) n.inheritFlag = false; + // 注意:必须先调 checkNode,由 zTree 内部设置 checked 并调用 setChkClass 刷新复选框外观。 + // 若先手动 n.checked = v 再调 checkNode,会命中 zTree 的 + // `node.checked === checked && !checkTypeFlag` 提前 return,导致联动节点的外观不刷新。 treeObj.checkNode(n, v, false, false); }; set(node, checked);