diff --git a/simple-mind-map/index.js b/simple-mind-map/index.js index 031571cc..6dc77fd2 100644 --- a/simple-mind-map/index.js +++ b/simple-mind-map/index.js @@ -258,15 +258,13 @@ class MindMap { // 动态设置思维导图数据,纯节点数据 setData(data) { + data = simpleDeepClone(data || {}) this.execCommand('CLEAR_ACTIVE_NODE') this.command.clearHistory() this.command.addHistory() - if (this.richText) { - this.renderer.renderTree = this.richText.handleSetData(data) - } else { - this.renderer.renderTree = data - } + this.renderer.setData(data) this.reRender(() => {}, CONSTANTS.SET_DATA) + this.emit('set_data', data) } // 动态设置思维导图数据,包括节点数据、布局、主题、视图 diff --git a/simple-mind-map/src/core/render/Render.js b/simple-mind-map/src/core/render/Render.js index 5f53134e..d0fa7ea6 100644 --- a/simple-mind-map/src/core/render/Render.js +++ b/simple-mind-map/src/core/render/Render.js @@ -97,6 +97,15 @@ class Render { )(this, this.mindMap.opt.layout) } + // 重新设置思维导图数据 + setData(data) { + if (this.mindMap.richText) { + this.renderTree = this.mindMap.richText.handleSetData(data) + } else { + this.renderTree = data + } + } + // 绑定事件 bindEvent() { // 点击事件