From d7b1c4e4fe96fee44c43e75cc68af8c99fa9270e Mon Sep 17 00:00:00 2001 From: wanglin2 <1013335014@qq.com> Date: Wed, 5 Apr 2023 21:22:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96:=E9=87=8D=E6=96=B0=E6=B8=B2?= =?UTF-8?q?=E6=9F=93=E6=97=B6=E6=B8=85=E7=A9=BA=E8=8A=82=E7=82=B9=E6=B1=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simple-mind-map/src/Render.js | 1 + simple-mind-map/src/layouts/Base.js | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/simple-mind-map/src/Render.js b/simple-mind-map/src/Render.js index f0261ee2..3f6caa71 100644 --- a/simple-mind-map/src/Render.js +++ b/simple-mind-map/src/Render.js @@ -257,6 +257,7 @@ class Render { // 重新渲染需要清除激活状态 if (this.reRender) { this.clearActive() + this.layout.clearNodePool() } // 计算布局 this.layout.doLayout(root => { diff --git a/simple-mind-map/src/layouts/Base.js b/simple-mind-map/src/layouts/Base.js index e6827e1e..0111c33a 100644 --- a/simple-mind-map/src/layouts/Base.js +++ b/simple-mind-map/src/layouts/Base.js @@ -43,10 +43,15 @@ class Base { this.nodePool[uid] = node // 如果总缓存数量达到1000,直接清空 if (Object.keys(this.nodePool).length > 1000) { - this.nodePool = {} + this.clearNodePool() } } + // 清空节点存储池 + clearNodePool() { + this.nodePool = {} + } + // 检查当前来源是否需要重新计算节点大小 checkIsNeedResizeSources() { return [CONSTANTS.CHANGE_THEME, CONSTANTS.TRANSFORM_TO_NORMAL_NODE].includes(this.renderer.renderSource)