<template>
<div>
<el-menu
default-active="2"
class="el-menu-vertical-demo"
>
<template v-for="(item, index) in menuList">
<el-submenu v-if="item.child&&item.child.length>0" :key="item.id" :index="item.id">
<template slot="title">
<i class="el-icon-menu"></i>
<span>{{item.name}}</span>
</template>
<span :style="'padding-left:'+ (index * 20) + 'px'">
<LeftRegionMenu @menuChange="regionMenuChanage" style="padding-left: 16px;" :menuList="item.child"/>
</span>
</el-submenu>
<el-menu-item @click="menuClick(item.id)" v-else :key="item.id" :index="item.id">{{item.name}}</el-menu-item>
</template>
</el-menu>
</div>
</template>
<script>
import LeftRegionMenu from "@/components/LeftRegionMenu";
export default {
name: "LeftRegionMenu",
components: {
LeftRegionMenu
},
props: {
menuList: {
default: [
{
name: "一级菜单2",
id: "2",
child: [
{ name: "二级菜单2-1", id: "2-1" },
{
name: "二级菜单2-2",
id: "2-2",
child: [{ name: "三级菜单1", id: "2-2-1" }]
},
{
name: "二级菜单2-3",
id: "2-3",
child: [{ name: "三级菜单1", id: "2-3-1" }]
}
]
},
{
name: "一级菜单3",
id: "3",
child: [{ name: "二级菜单3-1", id: "3-1" }]
},
{
name: "一级菜单4",
id: "4",
child: [
{
name: "二级菜单4-1",
id: "4-1",
child: [
{
name: "三级菜单",
id: "4-1-1",
child: [{ name: "四级菜单", id: "4-1-1-1" }]
},
{ name: "三级菜单", id: "4-1-2" }
]
}
]
}
]
}
},
methods: {
menuClick(id) {
console.log(id);
this.$emit("menuChange", id);
},
regionMenuChanage(id) {
this.$emit("menuChange", id);
}
}
};
</script>
<style>
.el-col-12 {
width: 95%;
}
</style>