From 0ec16bd136e0b7f0b0324ccded59985b5d7c94d4 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: Thu, 14 Dec 2023 17:17:25 +0800 Subject: [PATCH] =?UTF-8?q?Feat=EF=BC=9A=E4=BF=AE=E5=A4=8D=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E5=90=AB=E6=9C=89=E5=92=8C=E5=BD=93=E5=89=8D=E7=94=BB?= =?UTF-8?q?=E5=B8=83=E5=B7=B2=E6=9C=89=E8=8A=82=E7=82=B9uid=E7=9B=B8?= =?UTF-8?q?=E5=90=8C=E7=9A=84=E6=96=87=E4=BB=B6=E6=97=B6=E4=BC=9A=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E7=BB=98=E5=88=B6=E8=8A=82=E7=82=B9=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simple-mind-map/index.js | 8 +++++--- simple-mind-map/src/core/render/Render.js | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/simple-mind-map/index.js b/simple-mind-map/index.js index 91f3b9cd..57f45e29 100644 --- a/simple-mind-map/index.js +++ b/simple-mind-map/index.js @@ -162,15 +162,14 @@ class MindMap { render(callback, source = '') { this.batchExecution.push('render', () => { this.initTheme() - this.renderer.reRender = false this.renderer.render(callback, source) }) } // 重新渲染 reRender(callback, source = '') { + this.clearDraw() // 清空画布的操作不能放到队列任务里,否则当reRender后又执行了render,当前回调会被覆盖掉 this.batchExecution.push('render', () => { - this.clearDraw() this.initTheme() this.renderer.reRender = true this.renderer.render(callback, source) @@ -495,7 +494,10 @@ class MindMap { } // 移除插件 ;[...MindMap.pluginList].forEach(plugin => { - if (this[plugin.instanceName] && this[plugin.instanceName].beforePluginDestroy) { + if ( + this[plugin.instanceName] && + this[plugin.instanceName].beforePluginDestroy + ) { this[plugin.instanceName].beforePluginDestroy() } this[plugin.instanceName] = null diff --git a/simple-mind-map/src/core/render/Render.js b/simple-mind-map/src/core/render/Render.js index 733c2352..a814a172 100644 --- a/simple-mind-map/src/core/render/Render.js +++ b/simple-mind-map/src/core/render/Render.js @@ -431,6 +431,7 @@ class Render { this.waitRenderingParams = [] this.render(...params) } else { + if (this.reRender) this.reRender = false // 触发一次保存,因为修改了渲染树的数据 if ( this.mindMap.richText &&