Menu
c-menu 用来展示导航菜单,支持横向和纵向两种展示方式。mode 为 horizontal 时横向展示,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>
纵向菜单
当 mode 为 vertical 时,可以将菜单收起,只显示图标。菜单默认展开,当 collapsed 为 true 时收起。
纵向菜单默认宽度为 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,表示用浅色或深色系主题 |