From 4335cbb7139b4c58266245dfb136f4d0909adf2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A1=97=E8=A7=92=E5=B0=8F=E6=9E=97?= <1013335014@qq.com> Date: Wed, 14 Aug 2024 16:33:28 +0800 Subject: [PATCH] =?UTF-8?q?Feat=EF=BC=9Arender=E7=B1=BB=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=89=8B=E5=8A=A8=E6=BF=80=E6=B4=BB=E5=92=8C=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E6=BF=80=E6=B4=BB=E5=A4=9A=E4=B8=AA=E8=8A=82=E7=82=B9=E7=9A=84?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simple-mind-map/src/core/render/Render.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/simple-mind-map/src/core/render/Render.js b/simple-mind-map/src/core/render/Render.js index 8ac3bc4b..092b5689 100644 --- a/simple-mind-map/src/core/render/Render.js +++ b/simple-mind-map/src/core/render/Render.js @@ -594,6 +594,26 @@ class Render { this.activeNodeList.splice(index, 1) } + // 手动激活多个节点,激活单个节点请直接调用节点实例的active()方法 + activeMultiNode(nodeList = []) { + nodeList.forEach(node => { + // 手动派发节点激活前事件 + this.mindMap.emit('before_node_active', node, this.activeNodeList) + // 激活节点,并将该节点添加到激活节点列表里 + this.addNodeToActiveList(node, true) + // 手动派发节点激活事件 + this.emitNodeActiveEvent(node) + }) + } + + // 手动取消激活多个节点 + cancelActiveMultiNode(nodeList = []) { + nodeList.forEach(node => { + this.removeNodeFromActiveList(node) + this.emitNodeActiveEvent(null) + }) + } + // 检索某个节点在激活列表里的索引 findActiveNodeIndex(node) { return getNodeIndexInNodeList(node, this.activeNodeList) @@ -2056,6 +2076,7 @@ class Render { // 关闭高亮 closeHighlightNode() { + if (!this.highlightBoxNode) return this.highlightBoxNode.remove() } }