Admin
应用于管理平台的界面布局
AdminClassic
管理平台经典布局结构
实例
快速应用布局
vue
<template>
<LayoutAdminClassic>
<template #header>
<div>Header</div>
</template>
<template #aside>
<div>Aside</div>
</template>
<template #breadcrumb>
<div>Breadcrumb</div>
</template>
<template #footer>
<div>Footer</div>
</template>
Main content
</LayoutAdminClassic>
</template>
<script setup>
import { LayoutAdminClassic } from 'v-layouts'
</script>
Header
Aside
Main content
收起/展开侧边栏
vue
<template>
<LayoutAdminClassic :aside-width="asideWidth">
<template #aside>
<div>Aside</div>
</template>
<div>
Main content
<button
@click="collapse = !collapse"
>collapse</button>
</div>
</LayoutAdminClassic>
</template>
<script setup>
import { ref, computed } from 'vue'
import { LayoutAdminClassic } from 'v-layouts'
const collapse = ref(false)
const asideWidth = computed(() => collapse.value ? '70px' : '200px')
</script>
收起的宽度
Aside
Main content
通过设置 aside-width
来切换侧边栏的宽度,若希望达到将侧边栏完全收起的效果,将宽度设置为 0
即可
条件渲染区域
通过条件渲染将布局的 header
、aside
、breadcrumb
与 footer
等区域进行切换打开/关闭状态
在布局区域关闭后,剩余可见的区域会自动对空间进行填充
vue
<template>
<LayoutAdminClassic aside-position="right">
<template #aside v-if="visible">
<div>Aside</div>
</template>
<div>
Main content
<button
@click="visible = !visible"
>change visible</button>
</div>
</LayoutAdminClassic>
</template>
<script setup>
import { ref } from 'vue'
import { LayoutAdminClassic } from 'v-layouts'
const visible = ref(true)
</script>
区域条件渲染
Header
Aside
Main content
侧边栏独占列
在默认布局中,标题栏 header
独占一行,可通过设置 aside-full-height
属性让侧边栏 aside
独占一列
template
<LayoutAdminClassic aside-full-height>
<template #aside>
<div>Aside</div>
</template>
<div>Main content</div>
</LayoutAdminClassic>
Header
Aside
Main content
Props
布局的属性
ts
type CssValue = string | number
interface AdminClassicProps {
/**
* 布局容器总宽度
* @default `100vw`
*/
width?: CssValue
/**
* 布局容器总高度
* @default `100vh`
*/
height?: CssValue
/**
* 头部栏高度
* @default 60
*/
headerHeight?: CssValue
/**
* 底部栏高度
* @default 60
*/
footerHeight?: CssValue
/**
* 主内容容器自定义扩展样式
*/
mainClass?: StyleValue
/**
* 面包屑高度
* @default 60
*/
breadcrumbHeight?: CssValue
/**
* 侧边栏宽度
* @default 260
*/
asideWidth?: CssValue
/**
* 侧边栏位置
*/
asidePosition?: 'left' | 'right'
/**
* 侧边栏独占一列
* @default false
*/
asideFullHeight?: boolean
}
插槽
在界面布局中,布局区域均使用具名插槽进行内容分发
default
默认插槽对应了主内容区域header
头部区域,默认情况下独占一行aside
侧边栏breadcrumb
面包屑footer
底部栏