Feat:对setData方法传入的数据进行深拷贝;更新渲染树数据的逻辑移到Render类中

This commit is contained in:
wanglin2
2023-10-04 15:37:57 +08:00
parent 1550f032d9
commit ed82fe5a61
2 changed files with 12 additions and 5 deletions

View File

@@ -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)
}
// 动态设置思维导图数据,包括节点数据、布局、主题、视图

View File

@@ -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() {
// 点击事件