From 460d4ea5586c42d24e18861d1fda66a7068801e6 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: Tue, 27 Feb 2024 16:42:07 +0800 Subject: [PATCH] =?UTF-8?q?Fix=EF=BC=9A=E4=BF=AE=E5=A4=8D=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=AD=A3=E5=9C=A8=E7=BC=96=E8=BE=91=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E6=97=B6=E5=AE=9E=E9=99=85=E4=B8=8A=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E7=9A=84=E6=98=AF=E7=9B=B8=E9=82=BB=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= 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/TextEdit.js | 8 ++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/simple-mind-map/src/core/render/Render.js b/simple-mind-map/src/core/render/Render.js index f0b35be6..73fb7e48 100644 --- a/simple-mind-map/src/core/render/Render.js +++ b/simple-mind-map/src/core/render/Render.js @@ -1213,7 +1213,15 @@ class Render { // 如果只选中了一个节点,删除后激活其兄弟节点或者父节点 needActiveNode = this.getNextActiveNode() for (let i = 0; i < list.length; i++) { - let node = list[i] + const node = list[i] + const currentEditNode = this.textEdit.getCurrentEditNode() + if ( + currentEditNode && + currentEditNode.getData('uid') === node.getData('uid') + ) { + // 如果当前节点正在编辑中,那么先完成编辑 + this.textEdit.hideEditTextBox() + } if (isAppointNodes) list.splice(i, 1) if (node.isGeneralization) { this.deleteNodeGeneralization(node) diff --git a/simple-mind-map/src/core/render/TextEdit.js b/simple-mind-map/src/core/render/TextEdit.js index 6d96b1ea..1e7377ee 100644 --- a/simple-mind-map/src/core/render/TextEdit.js +++ b/simple-mind-map/src/core/render/TextEdit.js @@ -315,4 +315,12 @@ export default class TextEdit { this.textEditNode.style.transform = 'translateY(0)' this.showTextEdit = false } + + // 获取当前正在编辑中的节点实例 + getCurrentEditNode() { + if (this.mindMap.richText) { + return this.mindMap.richText.node + } + return this.currentNode + } }