修复单击Panel最大化按钮时Area未最大化的问题,添加WindowState监听器
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user