Feat:对setData方法传入的数据进行深拷贝;更新渲染树数据的逻辑移到Render类中
This commit is contained in:
parent
1550f032d9
commit
ed82fe5a61
@ -258,15 +258,13 @@ class MindMap {
|
|||||||
|
|
||||||
// 动态设置思维导图数据,纯节点数据
|
// 动态设置思维导图数据,纯节点数据
|
||||||
setData(data) {
|
setData(data) {
|
||||||
|
data = simpleDeepClone(data || {})
|
||||||
this.execCommand('CLEAR_ACTIVE_NODE')
|
this.execCommand('CLEAR_ACTIVE_NODE')
|
||||||
this.command.clearHistory()
|
this.command.clearHistory()
|
||||||
this.command.addHistory()
|
this.command.addHistory()
|
||||||
if (this.richText) {
|
this.renderer.setData(data)
|
||||||
this.renderer.renderTree = this.richText.handleSetData(data)
|
|
||||||
} else {
|
|
||||||
this.renderer.renderTree = data
|
|
||||||
}
|
|
||||||
this.reRender(() => {}, CONSTANTS.SET_DATA)
|
this.reRender(() => {}, CONSTANTS.SET_DATA)
|
||||||
|
this.emit('set_data', data)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 动态设置思维导图数据,包括节点数据、布局、主题、视图
|
// 动态设置思维导图数据,包括节点数据、布局、主题、视图
|
||||||
|
|||||||
@ -97,6 +97,15 @@ class Render {
|
|||||||
)(this, this.mindMap.opt.layout)
|
)(this, this.mindMap.opt.layout)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 重新设置思维导图数据
|
||||||
|
setData(data) {
|
||||||
|
if (this.mindMap.richText) {
|
||||||
|
this.renderTree = this.mindMap.richText.handleSetData(data)
|
||||||
|
} else {
|
||||||
|
this.renderTree = data
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 绑定事件
|
// 绑定事件
|
||||||
bindEvent() {
|
bindEvent() {
|
||||||
// 点击事件
|
// 点击事件
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user