vue+elementUI以组件递归⽅式实现多级导航菜单
介绍
这是⼀个是基于element-UI的导航菜单组件基础上,进⾏了⼆次封装的菜单组件,该组件以组件递归的⽅式,实现了可根据从后端接收到的json菜单数据,动态渲染多级菜单的功能。
使⽤⽅法
由于该组件是基于element-UI进⾏⼆次封装的,所以在使⽤该组件时请务必安装element-UI(),安装好element-UI后,只需将该组件⽂件
夹SideBar导⼊到现有项⽬中即可使⽤。
⼯作流程
组件封装好之后,由⽗组件调⽤该组件,⽗组件先向后端发送请求获取菜单数据,然后将菜单数据传递给封装好的菜单组件,菜单组件通过解析数据,完成菜单渲染。
使⽤⽰例
1<template>
2<div id="app">
3<Sidebar :menuList="menuList"/>
4</div>
5</template>
6
7<script>
8 import Sidebar from './SideBar/SideBar.vue'
9 export default {
10 name: 'app',
11 components: { Sidebar},
12 data() {
13return {
14 menuList,
15 }
16 }
17 }
18</script>
选项
属性描述类型是否必须
menuList由后端返回的菜单数据Array是
菜单数据格式⽰例
1 {
2 "menuList" : [
3 {
导航菜单4 "path": "/func1", //菜单项所对应的路由路径
5 "title": "功能1", //菜单项名称
6 "children":[] //是否有⼦菜单,若没有,则为[]
7 },
8 {
9 "path": "/func2",
10 "title": "功能2",
11 "children":[]
12 },
13 {
14 "path": "/func3",
15 "title": "功能3",
16 "children": [
17 {
18 "path": "/func31",
19 "title": "功能3-1",
20 "children":[]
21 },
22 {
23 "path": "/func32",
24 "title": "功能3-2",
25 "children":[]
26 },
27 {
28 "path": "/func33",
29 "title": "功能3-3",
30 "children":[]
31 },
32 ]
33 }
34 ]
35 }
关于如何将数据转化成以上格式,请参考博⽂效果图
组件代码完整代码请戳☞
(完)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论