diff --git a/simple-mind-map/index.js b/simple-mind-map/index.js index a015deeb..b60c3417 100644 --- a/simple-mind-map/index.js +++ b/simple-mind-map/index.js @@ -210,12 +210,12 @@ class MindMap { } // 重新渲染 - reRender(callback) { + reRender(callback, source = '') { this.batchExecution.push('render', () => { this.draw.clear() this.initTheme() this.renderer.reRender = true - this.renderer.render(callback) + this.renderer.render(callback, source) }) } @@ -320,7 +320,7 @@ class MindMap { } else { this.renderer.renderTree = data } - this.reRender() + this.reRender(() => {}, CONSTANTS.SET_DATA) } // 动态设置思维导图数据,包括节点数据、布局、主题、视图 diff --git a/simple-mind-map/src/Render.js b/simple-mind-map/src/Render.js index 7f46c596..92ea717e 100644 --- a/simple-mind-map/src/Render.js +++ b/simple-mind-map/src/Render.js @@ -288,6 +288,11 @@ class Render { if (this.hasWaitRendering) { this.hasWaitRendering = false this.render(callback, source) + } else { + // 触发一次保存,因为修改了渲染树的数据 + if (this.mindMap.richText && [CONSTANTS.CHANGE_THEME, CONSTANTS.SET_DATA].includes(source)) { + this.mindMap.command.addHistory() + } } } let { enableNodeTransitionMove, nodeTransitionMoveDuration } =