导航菜单

导航菜单是一个网站的灵魂,用户依赖导航在各个页面中进行跳转。一般分为顶部导航和侧边导航,顶部导航提供全局性的类目和功能,侧边导航提供多级结构来收纳和排列网站架构。

基础用法

  • 示例:
点击查看代码
<template>
  <div>
    <ZMenu
      v-model:openKeys="openKeys"
      v-model:selectedKeys="selectedKeys"
    >
      <ZMenuItem key-val="1">
        <template #icon>
          <MailOutlined />
        </template>
        Navigation One
      </ZMenuItem>
      <ZMenuItem key-val="2">
        <template #icon>
          <CalendarOutlined />
        </template>
        Navigation Two
      </ZMenuItem>
      <ZSubMenu key-val="sub1">
        <template #icon>
          <AppstoreOutlined />
        </template>
        <template #title>Navigation Three</template>
        <ZMenuItem key-val="3">Option 3</ZMenuItem>
        <ZMenuItem key-val="4">Option 4</ZMenuItem>
        <ZSubMenu key-val="sub1-2" title="Submenu">
          <ZMenuItem key-val="5">Option 5</ZMenuItem>
          <ZMenuItem key-val="6">Option 6</ZMenuItem>
        </ZSubMenu>
      </ZSubMenu>
      <ZSubMenu key-val="sub2">
        <template #icon>
          <SettingOutlined />
        </template>
        <template #title>Navigation Four</template>
        <ZMenuItem key-val="7">Option 7</ZMenuItem>
        <ZMenuItem key-val="8">Option 8</ZMenuItem>
        <ZMenuItem key-val="9">Option 9</ZMenuItem>
        <ZMenuItem key-val="10">Option 10</ZMenuItem>
      </ZSubMenu>
    </ZMenu>
  </div>
</template>
<script>
  import { defineComponent, ref } from 'vue'
  export default defineComponent({
    setup() {
      const selectedKeys = ref(['1'])
      const openKeys = ref(['sub1'])
      return {
        selectedKeys,
        openKeys
      }
    }
  })
</script>

参数

参数说明类型默认值
forceSubMenuRender在子菜单展示之前就渲染进 DOMbooleanfalse
inlineCollapsedinline 时菜单是否收起状态boolean-
inlineIndentinline 模式的菜单缩进宽度number24
mode菜单类型,现在支持垂直、水平、和内嵌模式三种boovertical | horizontal | inlineinline
multiple是否允许多选booleanfalse
openKeys(v-model)当前展开的 SubMenu 菜单项 key 数组string[]-
selectable是否允许选中booleantrue
selectedKeys(v-model)当前选中的菜单项 key 数组string[]-
subMenuCloseDelay用户鼠标离开子菜单后关闭延时,单位:秒number0.1
subMenuOpenDelay用户鼠标进入子菜单后开启延时,单位:秒number0
theme主题颜色string: light darklight
overflowedIndicator自定义 Menu 折叠时的图标DOM···
triggerSubMenuAction修改 Menu 子菜单的触发方式click | hoverhover
事件说明回调参数
click点击 MenuItem 调用此函数function({ item, key, keyPath })
deselect取消选中时调用,仅在 multiple 生效function({ item, key, selectedKeys })
openChangeSubMenu 展开/关闭的回调function(openKeys: string[])
select被选中时调用function({ item, key, selectedKeys })
参数说明类型默认值
disabled是否禁用booleanfalse
keyValitem 的唯一标志string
title设置收缩时展示的悬浮标题string/slot
icon菜单图标slot
参数说明类型默认值
popupClassName子菜单样式string
disabled是否禁用booleanfalse
keyVal唯一标志, 必填string
title子菜单项值string|slot
expandIcon自定义 Menu 展开收起图标slot箭头图标
icon菜单图标slot
事件说明回调参数
titleClick点击子菜单标题({ key, domEvent })
Last Updated:
Contributors: jixuanyu