From ade7a95f3c753d3cab39a2c25642b6a82ed56cfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A1=97=E8=A7=92=E5=B0=8F=E6=9E=97?= <1013335014@qq.com> Date: Mon, 9 Dec 2024 18:35:31 +0800 Subject: [PATCH] =?UTF-8?q?Feat=EF=BC=9A=E8=BD=AC=E6=8D=A2=E5=AF=8C?= =?UTF-8?q?=E6=96=87=E6=9C=AC=E8=8A=82=E7=82=B9=E6=95=B0=E6=8D=AE=E7=9A=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E7=94=B1Render=E7=B1=BB=E7=A7=BB=E8=87=B3Ric?= =?UTF-8?q?hText=E6=8F=92=E4=BB=B6=E6=9C=AC=E8=BA=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simple-mind-map/src/core/render/Render.js | 13 +++++-------- simple-mind-map/src/plugins/RichText.js | 5 +++++ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/simple-mind-map/src/core/render/Render.js b/simple-mind-map/src/core/render/Render.js index 184cb8cc..3355b731 100644 --- a/simple-mind-map/src/core/render/Render.js +++ b/simple-mind-map/src/core/render/Render.js @@ -112,20 +112,17 @@ class Render { // 设置布局结构 setLayout() { + const { layout } = this.mindMap.opt this.layout = new ( - layouts[this.mindMap.opt.layout] - ? layouts[this.mindMap.opt.layout] + layouts[layout] + ? layouts[layout] : layouts[CONSTANTS.LAYOUT.LOGICAL_STRUCTURE] - )(this, this.mindMap.opt.layout) + )(this, layout) } // 重新设置思维导图数据 setData(data) { - if (this.hasRichTextPlugin()) { - this.renderTree = data ? this.mindMap.richText.handleSetData(data) : null - } else { - this.renderTree = data - } + this.renderTree = data || null } // 绑定事件 diff --git a/simple-mind-map/src/plugins/RichText.js b/simple-mind-map/src/plugins/RichText.js index 82adc214..ae567a09 100644 --- a/simple-mind-map/src/plugins/RichText.js +++ b/simple-mind-map/src/plugins/RichText.js @@ -81,9 +81,12 @@ class RichText { this.onCompositionStart = this.onCompositionStart.bind(this) this.onCompositionUpdate = this.onCompositionUpdate.bind(this) this.onCompositionEnd = this.onCompositionEnd.bind(this) + this.handleSetData = this.handleSetData.bind(this) window.addEventListener('compositionstart', this.onCompositionStart) window.addEventListener('compositionupdate', this.onCompositionUpdate) window.addEventListener('compositionend', this.onCompositionEnd) + this.mindMap.on('before_update_data', this.handleSetData) + this.mindMap.on('before_set_data', this.handleSetData) } // 解绑事件 @@ -91,6 +94,8 @@ class RichText { window.removeEventListener('compositionstart', this.onCompositionStart) window.removeEventListener('compositionupdate', this.onCompositionUpdate) window.removeEventListener('compositionend', this.onCompositionEnd) + this.mindMap.off('before_update_data', this.handleSetData) + this.mindMap.off('before_set_data', this.handleSetData) } // 插入样式