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 + } }