Sidebar 布局侧边栏

示例

收起侧边栏

通过 collapse-mode 属性指定收起模式,分别是 slim(部分收起) / hidden(完全收起)。

/demo/sidebar/collapse-mode.vue
在 GitHub 上编辑此示例编辑
<template>
<veui-layout>
  <veui-header>Header</veui-header>
  <veui-layout>
    <veui-sidebar
      collapsible
      :collapse-mode="mode"
    >
      <div class="center full">
        Sidebar
      </div>
    </veui-sidebar>
    <veui-layout>
      <veui-content>
        <veui-radio-button-group
          v-model="mode"
          :items="modes"
        />
      </veui-content>
      <veui-footer style="background: #ccc;">
        Footer(背景仅为演示)
      </veui-footer>
    </veui-layout>
  </veui-layout>
</veui-layout>
</template>

<script>
import { Layout, Header, Footer, Sidebar, Content, RadioButtonGroup } from 'veui'

export default {
  components: {
    'veui-layout': Layout,
    'veui-header': Header,
    'veui-footer': Footer,
    'veui-sidebar': Sidebar,
    'veui-content': Content,
    'veui-radio-button-group': RadioButtonGroup
  },
  data () {
    return {
      mode: 'slim',
      modes: [
        { label: 'slim', value: 'slim' },
        { label: 'hidden', value: 'hidden' }
      ]
    }
  }
}
</script>

<style lang="less" scoped>
.center,
.veui-layout-header,
.veui-layout-footer,
.veui-layout-content {
  display: flex;
  align-items: center;
  justify-content: center;
}

.veui-radio-button-group {
  margin-bottom: 12px;
}

.full {
  height: 100%;
}
</style>

展示/隐藏切换按钮

使用 collapsible 属性设置是否显示侧边栏展开/收起按钮。

/demo/sidebar/collapsible.vue
在 GitHub 上编辑此示例编辑
<template>
<veui-layout>
  <veui-header>Header</veui-header>
  <veui-layout>
    <veui-sidebar :collapsible="collapsible">
      <div class="center full">
        Sidebar
      </div>
    </veui-sidebar>
    <veui-layout>
      <veui-content>
        <veui-switch
          v-model="collapsible"
        >
          Collapsible
        </veui-switch>
      </veui-content>
      <veui-footer style="background: #ccc;">
        Footer(背景仅为演示
      </veui-footer>
    </veui-layout>
  </veui-layout>
</veui-layout>
</template>

<script>
import { Layout, Header, Footer, Sidebar, Content, Switch } from 'veui'

export default {
  components: {
    'veui-layout': Layout,
    'veui-header': Header,
    'veui-footer': Footer,
    'veui-sidebar': Sidebar,
    'veui-content': Content,
    'veui-switch': Switch
  },
  data () {
    return {
      collapsible: true
    }
  }
}
</script>

<style lang="less" scoped>
.center,
.veui-layout-header,
.veui-layout-footer,
.veui-layout-content {
  display: flex;
  align-items: center;
  justify-content: center;
}

.full {
  height: 100%;
}
</style>

API

属性

名称类型默认值描述
stickybooleanfalse是否吸顶。使用注意参考吸顶/吸底布局
collapsiblebooleanfalse是否显示收起/展开按钮。
collapsedbooleanfalse

.sync

收起/展开的状态。

autocollapsebooleanfalse是否拉伸窗口到一定阈值时自动收起。
collapse-mode'slim' | 'hidden''slim'收起模式,分别是 slim(部分收起)/hidden(完全收起)。

插槽

名称描述
default布局侧边栏的内容。
在 GitHub 上编辑此页面编辑