diff --git a/simple-mind-map/src/core/render/Render.js b/simple-mind-map/src/core/render/Render.js index 8116a5df..a82027df 100644 --- a/simple-mind-map/src/core/render/Render.js +++ b/simple-mind-map/src/core/render/Render.js @@ -1206,7 +1206,10 @@ class Render { Array.isArray(smmData) ? smmData : [smmData] ) } else { - text = htmlEscape(text) + // 如果是富文本模式,那么需要转义特殊字符 + if (this.hasRichTextPlugin()) { + text = htmlEscape(text) + } const textArr = text .split(new RegExp('\r?\n|(? { diff --git a/simple-mind-map/src/plugins/RichText.js b/simple-mind-map/src/plugins/RichText.js index 323fb9a2..fbf263f8 100644 --- a/simple-mind-map/src/plugins/RichText.js +++ b/simple-mind-map/src/plugins/RichText.js @@ -8,7 +8,8 @@ import { checkSmmFormatData, formatGetNodeGeneralization, nodeRichTextToTextWithWrap, - getNodeRichTextStyles + getNodeRichTextStyles, + htmlEscape } from '../utils' import { CONSTANTS, richTextSupportStyleList } from '../constants/constant' import MindMapNode from '../core/render/node/MindMapNode' @@ -760,20 +761,24 @@ class RichText { this.afterHandleData() } + handleDataToRichText(data) { + data.richText = true + data.resetRichText = true + data.text = htmlEscape(data.text) + } + // 处理导入数据 handleSetData(data) { const walk = root => { if (root.data && !root.data.richText) { - root.data.richText = true - root.data.resetRichText = true + this.handleDataToRichText(root.data) } // 概要 if (root.data) { const generalizationList = formatGetNodeGeneralization(root.data) generalizationList.forEach(item => { if (!item.richText) { - item.richText = true - item.resetRichText = true + this.handleDataToRichText(item) } }) }