修复单击Panel最大化按钮时Area未最大化的问题,添加WindowState监听器

This commit is contained in:
zqm
2025-11-04 15:20:07 +08:00
parent 7855d6c2aa
commit ac8d9ec6fd
2 changed files with 24 additions and 14 deletions

View File

@@ -112,6 +112,26 @@ watch(() => props.top, (newTop) => {
}
}, { immediate: true })
// 监听WindowState变化同步更新localState
watch(() => props.WindowState, (newState) => {
if (newState !== localState.value) {
localState.value = newState
// 如果是从外部设置为最大化,保存当前位置以便还原
if (newState === '最大化' || newState === 'maximized') {
maximizedFromPosition.value = {
width: originalPosition.value.width,
height: originalPosition.value.height,
left: originalPosition.value.left,
top: originalPosition.value.top
}
} else if (maximizedFromPosition.value) {
// 如果是从外部设置为正常状态,恢复保存的位置
originalPosition.value = { ...maximizedFromPosition.value }
}
}
}, { immediate: true })
// 根据状态计算尺寸和位置样式
const areaStyle = computed(() => {
if (isMaximized.value) {