修复Panel图标状态同步:当Area最大化或还原时,同步更新Panel的maximized状态
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user