修复Panel最大化按钮点击后maximized属性未更新的问题,使用Vue响应式更新方式
This commit is contained in:
@@ -139,20 +139,23 @@ const onMaximize = (panelId) => {
|
||||
for (const area of floatingAreas.value) {
|
||||
if (area.panels && area.panels.length === 1 && area.panels[0].id === panelId) {
|
||||
// 当区域只包含一个Panel时,切换Area和Panel的最大化状态
|
||||
if (area.WindowState === '最大化' || area.WindowState === 'maximized') {
|
||||
const isCurrentlyMaximized = area.WindowState === '最大化' || area.WindowState === 'maximized'
|
||||
|
||||
// 使用Vue推荐的方式更新响应式数据
|
||||
if (isCurrentlyMaximized) {
|
||||
// 切换为正常状态
|
||||
area.WindowState = '正常'
|
||||
// 确保Panel也恢复正常状态
|
||||
if (area.panels[0]) {
|
||||
area.panels[0].maximized = false
|
||||
}
|
||||
// 确保Panel也恢复正常状态 - 使用展开运算符创建新对象确保响应式
|
||||
area.panels[0] = { ...area.panels[0], maximized: false }
|
||||
} else {
|
||||
// 切换为最大化状态
|
||||
area.WindowState = '最大化'
|
||||
// 同时最大化Panel
|
||||
if (area.panels[0]) {
|
||||
area.panels[0].maximized = true
|
||||
}
|
||||
// 同时最大化Panel - 使用展开运算符创建新对象确保响应式
|
||||
area.panels[0] = { ...area.panels[0], maximized: true }
|
||||
}
|
||||
|
||||
console.log('Panel最大化按钮触发,切换Area状态:', area.WindowState)
|
||||
console.log('Panel最大化状态:', area.panels[0].maximized)
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user