naive-ui/demo/documentation/components/menu/zhCN/horizontal.demo.md
2020-09-17 10:47:14 +08:00

2.2 KiB

水平菜单

一个水平菜单

<n-menu
  :modelValue="activeName"
  @update:modelValue="test"
  mode="horizontal"
  :items="menuItems"
/>
import { h, resolveComponent } from 'vue'
import bookIcon from 'naive-ui/lib/icons/book-outline'
import personIcon from 'naive-ui/lib/icons/person-outline'
import wineIcon from 'naive-ui/lib/icons/wine-outline'

function renderIcon(icon) {
  return () => h(resolveComponent('n-icon'), null, { default: () => h(icon) })
}

const menuItems = [
  {
    title: '且听风吟',
    name: 'hear-the-wind-sing',
    icon: renderIcon(bookIcon)
  },
  {
    title: '1973年的弹珠玩具',
    name: 'pinball-1973',
    icon: renderIcon(bookIcon),
    disabled: true,
    children: [
      {
        title: '鼠',
        name: 'rat'
      }
    ]
  },
  {
    title: '寻羊冒险记',
    name: 'a-wild-sheep-chase',
    icon: renderIcon(bookIcon),
    disabled: true
  },
  {
    title: '舞,舞,舞',
    name: 'dance-dance-dance',
    icon: renderIcon(bookIcon),
    children: [
      {
        type: 'group',
        title: '人物',
        name: 'people',
        children: [
          {
            title: '叙事者',
            name: 'narrator',
            icon: renderIcon(personIcon)
          },
          {
            title: '羊男',
            name: 'sheep-man',
            icon: renderIcon(personIcon)
          }
        ]
      },
      {
        title: '饮品',
        name: 'beverage',
        icon: renderIcon(wineIcon),
        children: [
          {
            title: '威士忌',
            name: 'whisky'
          }
        ]
      },
      {
        title: '食物',
        name: 'food',
        children: [
          {
            title: '三明治',
            name: 'sandwich'
          }
        ]
      },
      {
        title: '过去增多,未来减少',
        name: 'the-past-increases-the-future-recedes'
      }
    ]
  }
]

export default {
  data () {
    return {
      activeName: null,
      menuItems
    }
  },
  methods: {
    test (value) {
      this.activeName = value
      console.log('test', value)
      console.log(this.activeName)
    } 
  }
}
.n-menu-item {
  padding-right: 16px;
}