vue+antdesign导航菜单动态加载
2019独角兽企业重金招聘Python工程师标准>>>
antdesign侧边栏菜单,需根据后台返回的数据动态加载菜单列表,在循环填充时会遇到子菜单项<a-sub-menu>拆分问题, 查阅官方文档,在单文件递归菜单中,使用函数式组件递归生成菜单
"menuList": [{"name": "监控系统","url": "http://192.168.1.100:9999","iconType": "laptop",},{"name": "模块接口","url": null,"iconType": "bars","sidebars": [{"name": "订单模块","url": "http://192.168.1.100:8890//swagger-ui.html","iconType": "italic","children": []}]},{"name": "关于","url": "http://192.168.1.100:9999/about","iconType": "info",}]
根据上述后台传递的json数组, 主组件中代码如下:
<template v-for="item in menuList"><a-menu-item v-if="!item.sidebars.length" :key="item.name"><a-icon :type="item.iconType" /><span>{{item.name}}</span></a-menu-item><sub-menu v-else :menu-info="item" :key="item.name"/>
</template>
其中的<sub-menu>由子组件定义,如下:
<template functional><a-sub-menu:key="props.menuInfo.name"><span slot="title"><a-icon :type="props.menuInfo.iconType" /><span>{{ props.menuInfo.name }}</span></span><template v-for="item in props.menuInfo.sidebars"><a-menu-item:key="item.name"><span>{{ item.name }}</span></a-menu-item></template></a-sub-menu>
</template>
<script>
export default {props: ['menuInfo'],
};
</script>
在<sub-menu>源文件中
<template functional><a-sub-menu:key="props.menuInfo.key"><span slot="title"><a-icon type="mail" /><span>{{ props.menuInfo.title }}</span></span><template v-for="item in props.menuInfo.children"><a-menu-itemv-if="!item.children":key="item.key"><a-icon type="pie-chart" /><span>{{ item.title }}</span></a-menu-item><sub-menuv-else:key="item.key":menu-info="item"/></template></a-sub-menu>
</template>
<script>
export default {props: ['menuInfo'],
};
</script>
其中的<sub-menu>中还包含递归组件
转载于:https://my.oschina.net/u/4131669/blog/3048416
vue+antdesign导航菜单动态加载相关推荐
- vue+elementui 中src动态加载图片的时候不起作用
vue+elementui 中src动态加载图片的时候不起作用 代码如下: <el-table-column align="center" label="宠物图片& ...
- vue 根据组件地址动态加载异步组件
要求:根据列表中配置的组件地址,动态加载组件(webpart) vue 根据组件地址动态加载异步组件 目录结构 index.html components/component1 components/ ...
- vue 实现tab切换动态加载不同的组件
vue 实现tab切换动态加载不同的组件 使用vue中的is特性来加载不同的组件.具体看如下代码:这个功能对于vue比较复杂的页面可以使用上,可以把一个页面的功能拆分出来,使代码更简单.使用方式具体看 ...
- Vue下拉框动态加载数据
Vue下拉框动态加载数据 <template><a-select v-model="model.type" show-search placeholder=&qu ...
- vue 项目如何实现动态加载路由?
一般来说,vue项目实现动态路由的方式大体可分为两种: 前端把路由写好,登录的时候根据用户的角色权限来动态展示路由,(前端控制路由) 后台接口提供当前用户对应权限的路由表,前端通过调接口拿到后处理(后 ...
- 后台管理系统中的antd vue中的问题(动态加载列表a-select-option,后台管理中a-selct-option的回显)
一.antd vue中的a-select的动态加载列表a-select-option 1.既然是动态加载选择框的列表a-select-option,必然存在获取后台数组,并循环 后台数组格式: 数组( ...
- java菜单动态加载功能_Javascript实现动态菜单添加
在注册信息的时候,常常需要通过下拉菜单让用户选择,而且希望用户在第一个下拉框做的选择,影响第二个下拉框的内容.有时候,如果第一个下拉框不作出选择,第二个下拉框根本不会页面上显示,为了给用户呈现一个更清 ...
- vue动态跟新layui的select_vue+layui实现select动态加载后台数据的例子
vue+layui实现select动态加载后台数据的例子 发布时间:2020-09-18 22:51:36 来源:脚本之家 阅读:85 作者:qq_26814945 刚开始由于layui form渲染 ...
- vue动态加载路由的实现
动态加载路由的实现 vue后台管理之动态加载路由 vue路由动态加载
最新文章
- CRLB Case Practice ( No.1 )
- 代码审查工具 sonarqube 简介
- 共享库报错问题及解决方案
- Leetcode 232. 用栈实现队列 解题思路及C++实现
- zabbix安装php7.0,Centos 7.0安装Zabbix server详细步骤(示例代码)
- 机器学习常见基本概念笔记
- Activity中 onResume和onPause与onStart()和onStop()的一些思考
- 打印iphone支持的所有字体
- LINUX下的21个特殊符号
- 如何识别媒体偏见_面部识别,种族偏见和非洲执法
- 浅谈游戏《武士刀:零》——赛博朋克风格城市中的刀光剑影
- 【供应链架构day5】美团供应链架构的演进之道 - 团购时代
- html 占用空间 滚动轴_html – 缩放子级上的溢出滚动:X和Y轴上的不同行为
- 使用梯子导致的浏览器不能正常使用
- 使用Navicat复制MySQL数据库
- windows 中NET 命令的使用
- IntelliJ Idea 剪切板的复制深度设置(默认是五5条,用着很不爽!)
- linux之tomcat安装及前端部署
- Oracle分区表概述、分类、使用方法及注意事项
- pads铺铜不能开启drp_PADS常见问题全集
热门文章
- W/System.err: at android.view.ViewConfiguration.get(ViewConfiguration.java:369)
- LeetCode【位运算】371. 两整数之和
- Image打包流程-Android10.0编译系统(四)
- 测试hadoop安装是否成功
- php接口性能测试工具,PHP 应用性能优化指南
- android 自定义span_Android自定义可点击的ImageSpan并在TextView中内置View
- Spring boot 整合 Mybatis 实现增删改查(MyEclipse版)
- Git 中.gitignore 使用和.gitignore 无效的解决方法
- 关于SQL漏洞注入(Ado.Net)
- IOS UISearchDisplayController 点击搜索出现黑条问题解决方案