Fix:修复二级以下节点拖拽到根节点变成二级节点时样式没有更新的问题;修复上移一个层级命令移动节点时样式没有更新的问题

This commit is contained in:
街角小林 2024-01-26 13:51:44 +08:00
parent 12c89e6d37
commit 3da8070820

View File

@ -905,6 +905,7 @@ class Render {
const index = getNodeIndexInNodeList(node, parent.children) const index = getNodeIndexInNodeList(node, parent.children)
const parentIndex = getNodeIndexInNodeList(parent, grandpa.children) const parentIndex = getNodeIndexInNodeList(parent, grandpa.children)
// 节点数据 // 节点数据
this.checkNodeLayerChange(node, parent)
parent.nodeData.children.splice(index, 1) parent.nodeData.children.splice(index, 1)
grandpa.nodeData.children.splice(parentIndex + 1, 0, node.nodeData) grandpa.nodeData.children.splice(parentIndex + 1, 0, node.nodeData)
this.mindMap.render() this.mindMap.render()
@ -1110,11 +1111,12 @@ class Render {
} }
// 如果是富文本模式,那么某些层级变化需要更新样式 // 如果是富文本模式,那么某些层级变化需要更新样式
checkNodeLayerChange(node, toNode) { checkNodeLayerChange(node, toNode, toNodeIsParent = false) {
if (this.mindMap.richText) { if (this.mindMap.richText) {
const toIndex = toNodeIsParent ? toNode.layerIndex + 1 : toNode.layerIndex
let nodeLayerChanged = let nodeLayerChanged =
(node.layerIndex === 1 && toNode.layerIndex !== 1) || (node.layerIndex === 1 && toIndex !== 1) ||
(node.layerIndex !== 1 && toNode.layerIndex === 1) (node.layerIndex !== 1 && toIndex === 1)
if (nodeLayerChanged) { if (nodeLayerChanged) {
node.setData({ node.setData({
resetRichText: true resetRichText: true
@ -1292,7 +1294,7 @@ class Render {
return !item.isRoot return !item.isRoot
}) })
nodeList.forEach(item => { nodeList.forEach(item => {
this.checkNodeLayerChange(item, toNode) this.checkNodeLayerChange(item, toNode, true)
this.removeNodeFromActiveList(item) this.removeNodeFromActiveList(item)
removeFromParentNodeData(item) removeFromParentNodeData(item)
toNode.nodeData.children.push(item.nodeData) toNode.nodeData.children.push(item.nodeData)