diff --git a/simple-mind-map/src/core/render/Render.js b/simple-mind-map/src/core/render/Render.js index 8ca4c5f5..55daae66 100644 --- a/simple-mind-map/src/core/render/Render.js +++ b/simple-mind-map/src/core/render/Render.js @@ -1195,15 +1195,7 @@ class Render { this.mindMap.execCommand('SET_NODE_DATA', node, { isActive: active }) - if (node.group) { - // 切换激活状态,需要切换展开收起按钮的显隐 - if (active) { - node.showExpandBtn() - } else { - node.hideExpandBtn() - } - node.updateNodeActive() - } + node.updateNodeByActive(active) } // 设置节点是否展开 diff --git a/simple-mind-map/src/core/render/node/Node.js b/simple-mind-map/src/core/render/node/Node.js index f5ffa986..09bed01d 100644 --- a/simple-mind-map/src/core/render/node/Node.js +++ b/simple-mind-map/src/core/render/node/Node.js @@ -524,7 +524,7 @@ class Node { if (!this.group) { return } - this.updateNodeActive() + this.updateNodeActiveClass() let { alwaysShowExpandBtn } = this.mindMap.opt if (alwaysShowExpandBtn) { // 需要移除展开收缩按钮 @@ -600,12 +600,25 @@ class Node { } // 更新节点激活状态 - updateNodeActive() { + updateNodeActiveClass() { if (!this.group) return const isActive = this.getData('isActive') this.group[isActive ? 'addClass' : 'removeClass']('active') } + // 根据是否激活更新节点 + updateNodeByActive(active) { + if (this.group) { + // 切换激活状态,需要切换展开收起按钮的显隐 + if (active) { + this.showExpandBtn() + } else { + this.hideExpandBtn() + } + this.updateNodeActiveClass() + } + } + // 递归渲染 render(callback = () => {}) { // 节点