diff --git a/simple-mind-map/src/core/render/Render.js b/simple-mind-map/src/core/render/Render.js index a13678ae..1120d688 100644 --- a/simple-mind-map/src/core/render/Render.js +++ b/simple-mind-map/src/core/render/Render.js @@ -157,7 +157,8 @@ class Render { node.height = height node.layout() this.mindMap.render(() => { - this.textEdit.updateTextEditNode() + // 输入框的left不会改变,所以无需更新 + this.textEdit.updateTextEditNode(['left']) }) }) } diff --git a/simple-mind-map/src/core/render/TextEdit.js b/simple-mind-map/src/core/render/TextEdit.js index 24d4c161..def6b36e 100644 --- a/simple-mind-map/src/core/render/TextEdit.js +++ b/simple-mind-map/src/core/render/TextEdit.js @@ -308,7 +308,8 @@ export default class TextEdit { } // 更新文本编辑框的大小和位置 - updateTextEditNode() { + // notChangeProps:不会发生改变的属性列表 + updateTextEditNode(notChangeProps = []) { if (this.mindMap.richText) { this.mindMap.richText.updateTextEditNode() return @@ -321,7 +322,8 @@ export default class TextEdit { rect.width + this.textNodePaddingX * 2 + 'px' this.textEditNode.style.minHeight = rect.height + this.textNodePaddingY * 2 + 'px' - this.textEditNode.style.left = rect.left + 'px' + if (!notChangeProps.includes('left')) + this.textEditNode.style.left = rect.left + 'px' this.textEditNode.style.top = rect.top + 'px' }