From bc907f4b377a6b1a5891c4922c4833a2a932c3d9 Mon Sep 17 00:00:00 2001 From: wanglin2 <1013335014@qq.com> Date: Sun, 15 Oct 2023 09:51:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81:1.?= =?UTF-8?q?=E5=B0=86render=E7=B1=BB=E7=9A=84setNodeActive=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E7=9A=84=E9=83=A8=E5=88=86=E9=80=BB=E8=BE=91=E7=A7=BB?= =?UTF-8?q?=E5=88=B0node=E7=B1=BB;2.=E5=B0=86node=E7=B1=BB=E7=9A=84updateN?= =?UTF-8?q?odeActive=E6=96=B9=E6=B3=95=E5=90=8D=E7=A7=B0=E6=94=B9=E4=B8=BA?= =?UTF-8?q?updateNodeActiveClass?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simple-mind-map/src/core/render/Render.js | 10 +--------- simple-mind-map/src/core/render/node/Node.js | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 11 deletions(-) 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 = () => {}) { // 节点