Fix:修复切换主题时概要节点的样式没有更新的问题

This commit is contained in:
街角小林 2024-09-06 09:36:02 +08:00
parent c7f3dd4d7e
commit 62b734890b

View File

@ -128,8 +128,9 @@ class Base {
) )
} }
// 主题或主题配置改变了、节点层级改变了,需要重新渲染节点文本等情况需要重新计算节点大小和布局 // 主题或主题配置改变了、节点层级改变了,需要重新渲染节点文本等情况需要重新计算节点大小和布局
const isNeedResizeSources = this.checkIsNeedResizeSources()
if ( if (
this.checkIsNeedResizeSources() || isNeedResizeSources ||
isLayerTypeChange || isLayerTypeChange ||
newNode.getData('resetRichText') || newNode.getData('resetRichText') ||
isNumberChange isNumberChange
@ -137,7 +138,7 @@ class Base {
newNode.getSize() newNode.getSize()
newNode.needLayout = true newNode.needLayout = true
} }
this.checkGetGeneralizationChange(newNode) this.checkGetGeneralizationChange(newNode, isNeedResizeSources)
} else if ( } else if (
(this.lru.has(uid) || this.renderer.lastNodeCache[uid]) && (this.lru.has(uid) || this.renderer.lastNodeCache[uid]) &&
!this.renderer.reRender !this.renderer.reRender
@ -186,7 +187,7 @@ class Base {
newNode.getSize() newNode.getSize()
newNode.needLayout = true newNode.needLayout = true
} }
this.checkGetGeneralizationChange(newNode) this.checkGetGeneralizationChange(newNode, isResizeSource)
} else { } else {
// 创建新节点 // 创建新节点
const newUid = uid || createUid() const newUid = uid || createUid()
@ -228,7 +229,7 @@ class Base {
} }
// 检查概要节点是否需要更新 // 检查概要节点是否需要更新
checkGetGeneralizationChange(node) { checkGetGeneralizationChange(node, isResizeSource) {
const generalizationList = node.getData('generalization') const generalizationList = node.getData('generalization')
if ( if (
generalizationList && generalizationList &&
@ -239,7 +240,10 @@ class Base {
const gNode = item.generalizationNode const gNode = item.generalizationNode
const oldData = gNode.getData() const oldData = gNode.getData()
const newData = generalizationList[index] const newData = generalizationList[index]
if (newData && JSON.stringify(oldData) !== JSON.stringify(newData)) { if (
isResizeSource ||
(newData && JSON.stringify(oldData) !== JSON.stringify(newData))
) {
gNode.nodeData.data = newData gNode.nodeData.data = newData
gNode.getSize() gNode.getSize()
gNode.needLayout = true gNode.needLayout = true