千家信息网

AntDesign Vue中Menu菜单怎么用

发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,这篇文章将为大家详细讲解有关AntDesign Vue中Menu菜单怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。常用属性属性说明默认值mode菜单类型,现在
千家信息网最后更新 2024年11月14日AntDesign Vue中Menu菜单怎么用

这篇文章将为大家详细讲解有关AntDesign Vue中Menu菜单怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

常用属性

属性说明默认值
mode菜单类型,现在支持垂直、水平、和内嵌模式三种vertical
inlineCollapsedinline 时菜单是否收起状态
theme主题颜色(light/dark)light
openKeys(.sync)当前展开的 SubMenu 菜单项 key 数组
defaultOpenKeys初始展开的 SubMenu 菜单项 key 数组
selectedKeys(v-model)当前选中的菜单项 key 数组
defaultSelectedKeys初始选中的菜单项 key 数组

说明
defaultSelectedKeys 是默认选中的keya-menu-item上绑定的key),被选中会有高亮的显示效果;selectedKeys 也是一样的作用,不要同时使用,区别在于如果只希望指定一个初始化的菜单选项就使用defaultSelectedKeys,如果需要通过自己修改数据来选中菜单的选中项就使用selectedKeys

openKeysdefaultOpenKeys也是同理)

常用事件

openChangeMenu的事件,SubMenu 展开/关闭的回调

递归嵌套多级菜单

若只有两级菜单则直接使用v-forv-if指令即可完成;若菜单级数≥3则需要使用函数式组件。具体原因官网已经做了说明:

Before v2.0, 因组件内部会动态更改a-sub-menu的属性,如果拆分成单文件,无法将属性挂载到a-sub-menu上,你需要自行声明属性并挂载。为了方便,避免属性的声明,我们推荐使用函数式组件。

代码
App.vue (测试就随便在App.vue里写了)

这里省略了router配置,相信在座的各位也会!(不会的底下留言,包教包会!)

如果vue报编译错误You are using the runtime-only build of Vue,可以在vue的配置文件里加一行runtimeCompiler: true,重新运行即可。

如果点击同一个菜单报错了NavigationDuplicated: Avoided redundant navigation to current location,需要修改下Router设置(router/index.js):

const originalPush = Router.prototype.pushRouter.prototype.push = function push(location) {    return originalPush.call(this, location).catch(err => err)}

效果

自动渲染多级嵌套菜单;刷新会保存选中的菜单;点击菜单,收起其他展开的所有菜单。

关于"AntDesign Vue中Menu菜单怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0