修复Panel图标状态同步:当Area最大化或还原时,同步更新Panel的maximized状态

This commit is contained in:
zqm
2025-11-06 13:24:37 +08:00
parent 2d87a89484
commit 9c8b1ce410

View File

@@ -27,6 +27,7 @@
}" }"
@close="onCloseFloatingArea(area.id)" @close="onCloseFloatingArea(area.id)"
@update:position="onUpdatePosition(area.id, $event)" @update:position="onUpdatePosition(area.id, $event)"
@panelMaximizeSync="onPanelMaximizeSync"
> >
<!-- 每个Area内渲染其包含的TabPages --> <!-- 每个Area内渲染其包含的TabPages -->
<TabPage <TabPage
@@ -302,6 +303,17 @@ watch(floatingAreas, (newAreas) => {
}); });
}, { deep: true }); }, { deep: true });
// 处理Panel最大化同步事件
const onPanelMaximizeSync = ({ areaId, maximized }) => {
// 查找对应的Area
const area = floatingAreas.value.find(a => a.id === areaId);
if (area && area.panels && area.panels.length === 1) {
// 更新Panel的maximized状态
area.panels[0] = { ...area.panels[0], maximized };
console.log(`同步Area ${areaId} 的Panel最大化状态为:`, maximized);
}
}
// 暴露方法给父组件 // 暴露方法给父组件
defineExpose({ defineExpose({
addFloatingPanel addFloatingPanel