更新DockLayout.vue,添加TabPage组件导入和嵌套渲染结构,确保TabPage能正确显示

This commit is contained in:
zqm
2025-11-05 09:02:11 +08:00
parent e9f3c00fd5
commit 61926fd195

View File

@@ -21,9 +21,16 @@
@close="onCloseFloatingArea(area.id)" @close="onCloseFloatingArea(area.id)"
@update:position="onUpdatePosition(area.id, $event)" @update:position="onUpdatePosition(area.id, $event)"
> >
<!-- 每个Area内渲染其包含的Panels --> <!-- 每个Area内渲染其包含的TabPages -->
<TabPage
v-for="tabPage in area.tabPages"
:key="tabPage.id"
:id="tabPage.id"
:title="tabPage.title"
>
<!-- 在TabPage内渲染其包含的Panels -->
<Panel <Panel
v-for="panel in area.panels" v-for="panel in tabPage.panels"
:key="panel.id" :key="panel.id"
:id="panel.id" :id="panel.id"
:title="panel.title" :title="panel.title"
@@ -38,6 +45,7 @@
@dragMove="onPanelDragMove(area.id, $event)" @dragMove="onPanelDragMove(area.id, $event)"
@dragEnd="onPanelDragEnd" @dragEnd="onPanelDragEnd"
/> />
</TabPage>
</Area> </Area>
<!-- 主区域 --> <!-- 主区域 -->
@@ -54,6 +62,7 @@
import { ref, defineExpose, nextTick, watch } from 'vue' import { ref, defineExpose, nextTick, watch } from 'vue'
import Area from './Area.vue'; import Area from './Area.vue';
import Panel from './Panel.vue'; import Panel from './Panel.vue';
import TabPage from './TabPage.vue';
// 主区域状态 // 主区域状态
const windowState = ref('最大化') const windowState = ref('最大化')