Menu

c-menu 用来展示导航菜单,支持横向和纵向两种展示方式。modehorizontal 时横向展示,vertical 时纵向展示。

<template>
  <c-menu mode="horizontal">
    <c-menu-item>
      <a href="#">
        <c-icon name="home" type="fa" />
        <span>首页</span>
      </a>
    </c-menu-item>
    <c-menu-item active>
      <a href="#">
        <c-icon name="cogs" type="fa" />
        <span>设置</span>
      </a>
    </c-menu-item>
    <c-submenu>
      <template slot="title">
        <c-icon name="share-alt" type="fa" />
        <span>分享</span>
      </template>
      <c-menu-item>
        <a href="#">
          <c-icon name="weibo" type="fa" />
          <span>分享到微博</span>
        </a>
      </c-menu-item>
      <c-menu-item>
        <a href="#">
          <c-icon name="wechat" type="fa" />
          <span>分享到微信</span>
        </a>
      </c-menu-item>
      <c-menu-item>
        <a href="#">
          <c-icon name="twitter" type="fa" />
          <span>分享到 Twitter</span>
        </a>
      </c-menu-item>
    </c-submenu>
  </c-menu>
</template>

深色主题

默认的主题颜色为浅色系,可以将 theme 设置为 dark 显示深色主题。

<template>
  <c-menu mode="horizontal" theme="dark">
    <c-menu-item>
      <a href="#">
        <c-icon name="home" type="fa" />
        <span>首页</span>
      </a>
    </c-menu-item>
    <c-menu-item active>
      <a href="#">
        <c-icon name="cogs" type="fa" />
        <span>设置</span>
      </a>
    </c-menu-item>
    <c-submenu>
      <template slot="title">
        <c-icon name="share-alt" type="fa" />
        <span>分享</span>
      </template>
      <c-menu-item>
        <a href="#">
          <c-icon name="weibo" type="fa" />
          <span>分享到微博</span>
        </a>
      </c-menu-item>
      <c-menu-item>
        <a href="#">
          <c-icon name="wechat" type="fa" />
          <span>分享到微信</span>
        </a>
      </c-menu-item>
      <c-menu-item>
        <a href="#">
          <c-icon name="twitter" type="fa" />
          <span>分享到 Twitter</span>
        </a>
      </c-menu-item>
    </c-submenu>
  </c-menu>
</template>

纵向菜单

modevertical 时,可以将菜单收起,只显示图标。菜单默认展开,当 collapsedtrue 时收起。

纵向菜单默认宽度为 20em,可以通过 width 属性进行自定义,其值可以是任何有效的 CSS 长度。

<template>
  <div class="has-margin-bottom-lg">
    <c-button icon="menu" flat primary @click="toggleCollapsed">切换展开收起</c-button>
    <c-radio-group
      :options="themes"
      v-model="theme"
      button
    />
  </div>
  <c-menu mode="vertical" :theme="theme" :collapsed="collapsed" width="200px">
    <c-menu-item>
      <a>
        <c-icon name="home" type="fa" />
        <span>首页</span>
      </a>
    </c-menu-item>
    <c-menu-item active>
      <a>
        <c-icon name="cogs" type="fa" />
        <span>设置</span>
      </a>
    </c-menu-item>
    <c-submenu>
      <template slot="title">
        <c-icon name="share-alt" type="fa" />
        <span>分享</span>
      </template>
      <c-menu-item>
        <a>
          <span>分享到微博</span>
        </a>
      </c-menu-item>
      <c-menu-item>
        <a>
          <span>分享到微信</span>
        </a>
      </c-menu-item>
      <c-menu-item>
        <a>
          <span>分享到 Twitter</span>
        </a>
      </c-menu-item>
    </c-submenu>
  </c-menu>
</template>

<script>
export default {
  data () {
    return {
      theme: 'light',
      collapsed: false,
      themes: [
        {
          label: '浅色主题',
          value: 'light'
        },
        {
          label: '深色主题',
          value: 'dark'
        }
      ]
    }
  },
  methods: {
    toggleCollapsed () {
      this.collapsed = !this.collapsed
    }
  }
}
</script>

属性说明

属性 类型 默认值 说明
mode String horizontal horizontal 或 vertical,表示横向或纵向展示菜单
width String 20em 纵向展示时的菜单宽度,可以为任意有效 CSS 长度
collapsed Boolean false 是否收起菜单
theme String light light 或 dark,表示用浅色或深色系主题