循环传入的数据去生成下级菜单
<template>
<div class="headBar">
<div class=" ">
微商城管理后台
</div>
<el-menu
class="el-menu-headBar"
mode="horizontal"
@select="handleSelect"
background-color="#000000"
text-color="#fff"
active-text-color="#ffd04b"
:unique-opened="true"
:default-active="onRoutes" router>
<template v-for="item in items" >
<template v-if="item.subs" >
<el-submenu :index="item.index">
<template slot=" " >
{{item. }}
</template>
<el-menu-item v-for="(subItem,i) in item.subs" :key="i" :index="subItem.index">
{{ subItem. }}
</el-menu-item>
</el-submenu>
</template>
<template v-else>
<el-menu-item :index="item.index">
<label>{{ item. }}</label>
</el-menu-item>
</template>
</template>
</el-menu>
</div>
</template>
< >
export default {
data() {
return {
activeIndex: "1",
items: [
{
icon: 'el-icon-menu',
index: '1',
: '数据统计',
subs: [
{
index: '/monitor',
: '客流展示'
},
{
index: '/monitor/device',
: '设备采集'
},
{
index: '/monitor/tv',
: '监控视频'
}
]
},{
icon: 'el-icon-goods',
index: '/product',
: '商品管理',
},{
icon: 'el-icon-goods',
index: '/category',
: '类目管理',
},{
icon: 'fa fa-cart-arrow-down',
index: '/order',
: '订单一览'
},{
icon: 'fa fa-user-o',
index: '/merchant',
: '商家信息'
},{
icon: 'el-icon-printer',
index: '9',
: '微商城',
subs:[
{
icon: 'el-icon-printer',
index: '/banner',
: 'banner设置'
},{
icon: 'el-icon-printer',
index: '/decoration',
: '首页装修'
},{
icon: 'el-icon-printer',
index: '/message',
: '消息设置'
}
]
},{
icon: 'el-icon-printer',
index: '10',
: '线下店',
subs:[
{
icon: 'el-icon-printer',
index: '/device',
: '设备管理'
},{
icon: 'el-icon-printer',
index: '/advertise',
: '广告管理'
},{
icon: 'el-icon-printer',
index: '/version',
: '版本管理'
}
]
},{
icon: 'el-icon-printer',
index: '/largeUI',
: '大屏'
},{
icon: 'el-icon-printer',
index: '/coupon',
: '优惠券'
}
],
}
},
methods: {
handleSelect(key, keyPath) {
console.log(key, keyPath);
}
},
computed:{
onRoutes(){
return this.$route.path.replace('/','');
}
}
}
</ >
<style scoped>
.el-menu-headBar {
width: 80%;
min-width: 950px;
font-size: 12px;
border-bottom: 1px #000000;
}
.headBar {
width: 100%;
height: 50px;
display: flex;
background-color: #000000;
}
. {
background-color: #ffdb15;
color: #000;
height: 100%;
min-width: 200px;
width: 200px;
display: flex;
justify-content: center;
align-items: center;
letter-spacing: 5px;
font-size: 17px;
}
</style>
以上这篇vue侧边栏动态生成下级菜单的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
继续阅读与本文标签相同的文章
上一篇 :
如何将maven项目划分为多个模块
下一篇 :
美国网警卧底暗网,超过35人被捕
-
MySQL迁移到Cassandra
2026-05-18栏目: 教程
-
Cassandra sstableloader工具使用及原理解析
2026-05-18栏目: 教程
-
Qt编写控件属性设计器1-加载插件
2026-05-18栏目: 教程
-
Qt编写控件属性设计器2-拖曳控件
2026-05-18栏目: 教程
-
Aliyun Serverless VSCode Extension v1.9.0 发布
2026-05-18栏目: 教程
