diff --git a/simple-mind-map/src/core/render/node/nodeCreateContents.js b/simple-mind-map/src/core/render/node/nodeCreateContents.js index 86c3bc19..e9d160ec 100644 --- a/simple-mind-map/src/core/render/node/nodeCreateContents.js +++ b/simple-mind-map/src/core/render/node/nodeCreateContents.js @@ -159,7 +159,7 @@ function createRichTextNode() { height = elTmp.getBoundingClientRect().height div.innerHTML = html } - width = Math.ceil(width) + 1 // 修复getBoundingClientRect方法对实际宽度是小数的元素获取到的值是整数,导致宽度不够文本发生换行的问题 + width = Math.min(Math.ceil(width) + 1, textAutoWrapWidth) // 修复getBoundingClientRect方法对实际宽度是小数的元素获取到的值是整数,导致宽度不够文本发生换行的问题 height = Math.ceil(height) g.attr('data-width', width) g.attr('data-height', height) @@ -222,7 +222,7 @@ function createTextNode() { g.add(node) }) let { width, height } = g.bbox() - width = Math.ceil(width) + width = Math.min(Math.ceil(width), maxWidth) height = Math.ceil(height) g.attr('data-width', width) g.attr('data-height', height) diff --git a/simple-mind-map/src/plugins/RichText.js b/simple-mind-map/src/plugins/RichText.js index 156f39c5..fe1ba8bb 100644 --- a/simple-mind-map/src/plugins/RichText.js +++ b/simple-mind-map/src/plugins/RichText.js @@ -201,7 +201,8 @@ class RichText { box-shadow: 0 0 20px rgba(0,0,0,.5); outline: none; word-break: - break-all;padding: ${paddingY}px ${paddingX}px; + break-all; + padding: ${paddingY}px ${paddingX}px; ` this.textEditNode.addEventListener('click', e => { e.stopPropagation()