位置:- 正文

Vue2基于elementUi的多级菜单动态生成(vue+elementui)

编辑:rootadmin
前言 ElementUI官方没有提供菜单动态生成的案例的,参考ng-design上的菜单动态生成,写了一个基于ElementUi的菜单动态生成,支持多级菜单。 思路 基本思路就是循环子组件,判断menu是否有children,有就说明至少有二级菜单,需要循环子组件,将menu.children作为参 ...

推荐整理分享Vue2基于elementUi的多级菜单动态生成(vue+elementui),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue element-ui,vue结合element,vue结合element,vue怎么用elementui,vue2-elm,vue结合element,vue结合element,vue2-elm,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

ElementUI官方没有提供菜单动态生成的案例的,参考ng-design上的菜单动态生成,写了一个基于ElementUi的菜单动态生成,支持多级菜单。

思路

基本思路就是循环子组件,判断menu是否有children,有就说明至少有二级菜单,需要循环子组件,将menu.children作为参数传入。没有则直接生成el-menu-item。

代码如下

首先,定义sf-menu-item组件,

Vue2基于elementUi的多级菜单动态生成(vue+elementui)

代码如下:

1 <template> 2 <fragment> 3 <el-submenu 4 v-if="menu.children.length" 5 :index="menu.index" 6 class="sf-menu-item" 7 > 8 <template slot="title"> 9 <i :class="menu.icon"></i>{{ menu.name }}10 </template>11 <!-- 有children,调用自身 -->12 <sf-menu-item13 v-for="child in menu.children"14 :key="child.index"15 :menu="child"16 ></sf-menu-item>17 </el-submenu>18 <el-menu-item v-else :index="menu.index" class="sf-menu-item">19 <i :class="menu.icon"></i>{{ menu.name }}20 </el-menu-item>21 </fragment>22 </template>

View Code

其中的fragment标签只是空白标签,需要安装插件,npm i -S vue-fragment,并在main.js中使用

在layout.vue中使用:

还是很简单的,menus我就不写了基本都会的。

后记

刚刚学习Vue一个月,写个随笔记录下,以备不时之需 。也欢迎大家留言交流。

本文链接地址:https://www.jiuchutong.com/zhishi/310751.html 转载请保留说明!
下一篇链接:https://www.jiuchutong.com/zhishi/310752.html
免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络