超级好用的elementui动态循环菜单
<template>
<div>
<el-menu
@select="selectMenu"
:default-active="currentIndexLight"
class="el-menu-vertical-demo"
@open="handleOpen"
@close="handleClose"
background-color="#545c64"
text-color="#fff"
:router="startRouter"
active-text-color="#ffd04b"
>
<!--
:default-openeds="arrIndex"
-->
<div v-for="item in menuList" :key="item.path">
<!-- 没有子菜单 -->
<template v-if="item.children && item.children.length == 0">
<el-menu-item :index="item.path">
<i class="el-icon-menu"></i>
{{item.title}}
</el-menu-item>
</template>
<!-- 有子菜单 -->
<el-submenu v-else :index="item.path">
<template slot="title">
<i class="el-icon-menu"></i>
{{item.title}}
</template>
<template v-for="child in item.children">
<!-- 这里是类似递归循环 -->
<sidebar-item
v-if="child.children&&child.children.length>0"
:item="child"
:key="child.path"
/>
<el-menu-item v-else :key="child.path" :index="child.path">
<i class="el-icon-location"></i>
{{child.title}}
</el-menu-item>
</template>
</el-submenu>
</div>
</el-menu>
</div>
</template>
<script>
export default {
data() {
return {
startRouter: true,//开启路由标识, ,启用该模式会在激活导航时以 index 作为 path 进行路由跳转
currentIndexLight: '',//当前激活菜单的 index 高亮显示
arrIndex: [],
menuList: [
{
"path": "/awaitdoing", //菜单项所对应的路由路径
"title": "功能1", //菜单项名称
"children": [] //是否有子菜单,若没有,则为[]
},
{
"path": "/quickset",
"title": "功能2",
"children": []
},
{
"path": "aa",
"title": "功能3",
"children": [
{
"path": "/awaitdo",
"title": "功能3-1",
"children": []
},
{
"path": "/alreadygreen",
"title": "功能3-2",
"children": []
},
{
"path": "/approvedby",
"title": "功能3-3",
"children": []
},
]
},
{
"path": "/func10",
"title": "功能10",
"children": []
}
]
}
},
methods: {
selectMenu(key, keyPath) {
console.log(key, keyPath)
this.currentIndexLight = key;
},
// 展开指定的 sub-menu
handleOpen(key, keyPath) {
console.log('展开的时候触发', key, keyPath);
},
// 收起指定的 sub-menu
handleClose(key, keyPath) {
console.log('收起的时候触发', key, keyPath);
}
}
}
</script>

超级好用的elementui动态循环菜单的更多相关文章
- 【jQuery Demo】jQuery打造动态下滑菜单
作者:漫凯维奇 来源:[教程]jQuery打造动态下滑菜单 Tip:这只是一个转载,源代码可以在上面的来源博文中下载 此教程将分步讲解如何使用JQuery和CSS打造一个炫酷动感菜单.效果如 ...
- python 全栈开发,Day109(客户管理之动态"二级"菜单)
昨日内容回顾 1. 权限有几张表? 2. 简述权限流程? 3. 为什么要把权限放入session? 4. 静态文件和模块文件 5. 相关技术点 - orm查询 - 去空 - 去重 - 中间件 - in ...
- python 全栈开发,Day108(客户管理之权限控制,客户管理之动态"一级"菜单,其他应用使用rbac组件,django static文件的引入方式)
一.客户管理之权限控制 昨天的作业,有很多不完善的地方 下载代码,基本实现权限验证 https://github.com/987334176/luffy_permission/archive/v1.2 ...
- JS动态级联菜单
JS动态级联菜单是前端常用的一个功能,特此抽时间研究了下,附上代码 <html> <head> <meta charset="utf-8" /> ...
- jquery获取当前按钮、截取字符串、字符串拼接、动态循环添加元素
截取字符串:字符串拼接:动态循环添加元素:获取当前按钮: {data : null, render: function(data, type, row ) { var loginName = $(&q ...
- vue中动态循环model
vue动态循环model与angular有所不同,angular直接定义一个数组,然后传入循环列表的index即可. 而vue不仅需要定义一个数组,还需要通过接口读出循环的数组长度,然后在create ...
- layui navTree 动态渲染菜单组件介绍
navTree.js 简介 extends/navTree.js 是一个基于 layui 扩展的模块化组件,用于构建后台布局系统中的垂直导航菜单与水平导航菜单. extends/navTree.js ...
- Delphi动态创建菜单
在程序运行中动态创建菜单,主要使用TMeunItem类,所有菜单的条目都是TMenuItem的一个实例. 打开Delphi7集成开发环境,在默认新建工程里,放置一个Button1按钮和MainMenu ...
- 【Android初级】如何动态添加菜单项(附源码+避坑)
我们平时在开发过程中,为了灵活多变,除了使用静态的菜单,还有动态添加菜单的需求.今天要分享的功能如下: 在界面的右上角有个更多选项,点开后,有两个子菜单:关于和退出 点击"关于", ...
- 使用vue-element-admin框架从后端动态获取菜单
1.前言 vue-element-admin是一个纯前端的框架,左侧菜单是根据路由生成的.实际开发中经常需要根据当前登陆人员的信息从后端获取菜单进行展示,本文将详细介绍如何实现该功能. 2.详解 ...
随机推荐
- 测试用例又双叒叕失败了,NLP帮你
摘要:本文将介绍如何使用AI技术实现失败测试用例的智能分析. 本文分享自华为云社区<测试用例又双叒叕失败了,啥原因?NLP帮你来分析>,作者: 敏捷的小智 . 随着软件行业的快速发展,为了 ...
- app上架一直显示审核中状态要怎么处理?
当你提交一个应用到App Store上时,它会经历一个审核过程.在这个过程中,苹果的审核人员会检查你的应用是否符合苹果的规定和标准.这个过程通常需要几天的时间,但是如果你的应用一直显示" ...
- 火山引擎数智平台VeDI荣获虎啸奖“年度最佳智能营销平台”奖项
近日,由中国商务协会数字营销专业委员会指导的第十四届虎啸奖正式公布获奖名单,火山引擎数智平台VeDI荣获技术平台/产品类奖项. 作为国内品牌营销领域兼具权威性.前瞻性以及创新性的赛事活动,第十四届 ...
- 基于jdk自带httpserver开发的最小完整MVC框架
基于jdk自带httpserver开发的最小完整MVC框架 410kb级的完整MVC:solon(83k) + jdkhttp(27k) + enjoy(227k) + snack3(73k) DEM ...
- esp8266 水墨屏显示中文之大号字体
想要显示更大的字体,操作流程如下: 一.下载ESP8266文字显示相关库 链接: https://pan.baidu.com/s/1q9m0K2_egAmiMmD5IBfQ4Q 提取码: wtr2 二 ...
- Win 10 Rust Installtion in D Disk with VSCode
(只记录了必须要内容,日后完善!) 1. rust的安装与环境变量: 要提前把下面两个环境变量配置好,这样是为了指定安装路径.否则会默认安装在 C 盘下. CARGO_HOME: D:\Soft\La ...
- Docker 和 VMware不兼容问题
直接贴解决方案: 当想使用 VMware bcdedit /set hypervisorlaunchtype off 当想使用 Docker 时 bcdedit /set hypervisorlaun ...
- AtCoder Beginner Contest 163 (6/6)
比赛链接:Here AB水题, C - management 题意:给一棵 \(N(2\le N\le2e5)\) 个节点的有根树,求每个节点的儿子数. 思路:由于输入直接给的是每个节点的父节点,直 ...
- Codeforces Round #694 (Div. 2) A~D、E
比赛链接:Here 1471A. Strange Partition 题意: 给一个数组,数组中的所有元素可以任意合并,求数组的每个元素除以x上取整的和,求结果的最大值和最小值. 思路: 瞎猜.最小值 ...
- 【每日一题】39. Contest(树状数组 / 容斥分治)
补题链接:Here 算法涉及:树状数组.CDQ分治 n支队伍一共参加了三场比赛. 一支队伍x认为自己比另一支队伍y强当且仅当x在至少一场比赛中比y的排名高. 求有多少组(x,y),使得x自己觉得比y强 ...