From 5393e49a7ad3cfacd0f149f20de7c03b83af8b9e Mon Sep 17 00:00:00 2001
From: wanglin2 <1013335014@qq.com>
Date: Mon, 11 Dec 2023 23:10:34 +0800
Subject: [PATCH] =?UTF-8?q?Fix:=E4=BF=AE=E5=A4=8D=E5=BD=93=E8=8A=82?=
=?UTF-8?q?=E7=82=B9=E6=96=87=E6=9C=AC=E5=86=85=E5=AE=B9=E4=B8=BA=E7=A9=BA?=
=?UTF-8?q?=E6=97=B6=E5=86=8D=E6=AC=A1=E8=BE=93=E5=85=A5=E6=96=87=E6=9C=AC?=
=?UTF-8?q?=E6=97=B6=E6=96=87=E6=9C=AC=E6=A0=B7=E5=BC=8F=E4=B8=A2=E5=A4=B1?=
=?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
---
.../core/render/node/nodeCreateContents.js | 4 ++--
simple-mind-map/src/plugins/RichText.js | 24 ++++++++++++-------
2 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/simple-mind-map/src/core/render/node/nodeCreateContents.js b/simple-mind-map/src/core/render/node/nodeCreateContents.js
index 78e15d42..1052ea55 100644
--- a/simple-mind-map/src/core/render/node/nodeCreateContents.js
+++ b/simple-mind-map/src/core/render/node/nodeCreateContents.js
@@ -101,8 +101,8 @@ function createRichTextNode() {
recoverText = true
}
}
- if (recoverText) {
- let text = this.getData('text')
+ let text = this.getData('text')
+ if (recoverText && !isUndef(text)) {
// 判断节点内容是否是富文本
let isRichText = checkIsRichText(text)
// 样式字符串
diff --git a/simple-mind-map/src/plugins/RichText.js b/simple-mind-map/src/plugins/RichText.js
index ff391fb9..49d37d00 100644
--- a/simple-mind-map/src/plugins/RichText.js
+++ b/simple-mind-map/src/plugins/RichText.js
@@ -238,17 +238,25 @@ class RichText {
this.textEditNode.style.borderRadius = (node.height || 50) + 'px'
}
}
- if (!node.getData('richText')) {
- // 还不是富文本的情况
- let text = ''
- if (!isUndef(node.getData('text'))) {
- text = String(node.getData('text')).split(/\n/gim).join('
')
- }
+ // 节点文本内容
+ const nodeText = node.getData('text')
+ // 是否是空文本
+ const isEmptyText = isUndef(nodeText)
+ // 是否是非空的非富文本
+ const noneEmptyNoneRichText = !node.getData('richText') && !isEmptyText
+ // 如果是空文本,那么设置为丢失样式状态,否则输入不会带上样式
+ if (isEmptyText) {
+ this.lostStyle = true
+ }
+ if (noneEmptyNoneRichText) {
+ // 还不是富文本
+ let text = String(nodeText).split(/\n/gim).join('
')
let html = `
${text}
` this.textEditNode.innerHTML = this.cacheEditingText || html } else { + // 已经是富文本 this.textEditNode.innerHTML = - this.cacheEditingText || node.getData('text') + this.cacheEditingText || nodeText } this.initQuillEditor() document.querySelector('.ql-editor').style.minHeight = originHeight + 'px' @@ -258,7 +266,7 @@ class RichText { this.focus( isInserting || (selectTextOnEnterEditText && !isFromKeyDown) ? 0 : null ) - if (!node.getData('richText')) { + if (noneEmptyNoneRichText) { // 如果是非富文本的情况,需要手动应用文本样式 this.setTextStyleIfNotRichText(node) }