Skip to content

MasterDetailWorkspace 主从布局

主从(Master-Detail)布局容器,左侧为母版/列表区,右侧为细节/工作区。支持折叠、分离模式和自适应堆叠。

基本用法

vue
<template>
  <MasterDetailWorkspace :aside-width="260" :collapsed="collapsed">
    <template #aside="{ collapsed }">
      <UserTree :compact="collapsed" />
    </template>

    <template #default>
      <UserDetail />
    </template>
  </MasterDetailWorkspace>
</template>

<script setup>
import { MasterDetailWorkspace } from '@/components/common'
import { ref } from 'vue'

const collapsed = ref(false)
</script>

分离模式

vue
<MasterDetailWorkspace
  :aside-width="280"
  :collapsed="false"
  :attached="false"
>
  <template #aside="{ collapsed }">...</template>
  <template #default>...</template>
</MasterDetailWorkspace>

Props

属性类型默认值说明
asideWidthNumber | String240展开时左侧母版区域的宽度
collapsedAsideWidthNumber | String64折叠时左侧母版区域的宽度
mainWidthNumber | String'minmax(0, 1fr)'右侧工作区的 CSS 网格宽度
collapsedBooleanfalse是否折叠左侧区域
attachedBooleantrue两侧是否紧贴。设 false 为分离布局(两侧带间隙)

Slots

插槽名作用域说明
aside{ collapsed: Boolean }左侧母版/列表内容
default右侧细节/主内容区域

响应式

宽度低于 960px 时自动切换为堆叠布局(左栏在上、右栏在下)。

Forge Admin — 基于 Vue3 + Spring Boot 的企业级后台管理框架