Skip to content

Layout 布局 ​

页面的顶层骨架:Layout 容器 + Header / Sider / Content / Footer 四个语义区块。包含 Sider 时自动切换为水平布局,否则为上下结构。

基础用法 ​

vue
<template>
  <KbLayout style="height: 240px">
    <KbHeader>Header</KbHeader>
    <KbLayout>
      <KbSider collapsible v-model:collapsed="collapsed">Sider</KbSider>
      <KbContent>Content</KbContent>
    </KbLayout>
    <KbFooter>Footer</KbFooter>
  </KbLayout>
</template>

<script setup>
import { ref } from 'vue'
const collapsed = ref(false)
</script>

上 - 中(左 + 右)- 下 ​

外层 KbLayout 垂直排布,内层嵌套一个 KbLayout 水平排布(自动检测到 Sider)。

收起侧边栏 ​

Sider 传 collapsible 显示内置触发器,v-model:collapsed 双向绑定收起状态;触发器文案跟随语言包(layout.sider.collapse / layout.sider.expand)。

指定方向 ​

不传 direction 时按是否含 Sider 自动判断;也可显式指定:

vue
<KbLayout direction="horizontal">…</KbLayout>

API ​

Layout Props ​

属性类型默认值说明
direction'horizontal' | 'vertical'自动布局方向;缺省时含 Sider 为 horizontal,否则 vertical

Sider Props ​

属性类型默认值说明
widthnumber | string200展开宽度
collapsedWidthnumber | string64收起宽度
collapsedbooleanfalse是否收起(v-model:collapsed)
collapsiblebooleanfalse是否显示折叠触发器
reverseArrowbooleanfalse翻转触发器箭头(右侧侧边栏用)

Sider 事件 ​

事件参数说明
update:collapsedboolean收起状态变化
collapse(collapsed, type)状态变化后触发,type 为触发来源

区块组件 ​

Header / Content / Footer 无 Props,均为默认插槽容器;Sider 同样使用默认插槽。