结算系统时候用到的左侧递归 导航条功能
Posted suanmei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结算系统时候用到的左侧递归 导航条功能相关的知识,希望对你有一定的参考价值。
<template> <el-scrollbar wrapClass="scrollbar-wrapper"> <el-menu mode="vertical" :show-timeout="200" :default-active="$route.path" :collapse="isCollapse" background-color="#304156" text-color="#bfcbd9" active-text-color="#409EFF" > <sidebar-item v-for="route in permission_routers" :key="route.name" :item="route" :base-path="route.path"></sidebar-item> </el-menu> </el-scrollbar> </template> <script> import { mapGetters } from ‘vuex‘ import SidebarItem from ‘./SidebarItem‘ import routers from ‘@/router/index‘ /* Layout */ // import Layout from ‘@/pages/layout/Layout‘ export default { data() { return { permission_routers: undefined, tmpArr: [], apiArr: JSON.parse(localStorage.getItem(‘SET_ROUTERS‘)) } }, mounted() { // console.log(this.apiArr) this.loop(this.apiArr) // console.log(this.tmpArr) this.loopRoutes(routers.options.routes) this.permission_routers = routers.options.routes }, methods: { checkIsHidden: function(opt) { if (this.apiArr) { if (this.tmpArr.indexOf(opt) >= 0) { return false } else { return true } } }, loop: function(arr) { for (var i = 0; i < arr.length; i++) { this.tmpArr.push(arr[i].resName) if (arr[i].hasSubResource === true) { this.loop(arr[i].subResources) } } }, loopRoutes: function(arrRoutes) { var _this = this for (var i = 0; i < arrRoutes.length; i++) { // console.log(arrRoutes[i]) if (arrRoutes[i].name) { // 开启关闭权限 arrRoutes[i].hidden = _this.checkIsHidden(arrRoutes[i].meta.title) // arrRoutes[i].hidden = false if (arrRoutes[i].children) { _this.loopRoutes(arrRoutes[i].children) } } } } }, components: { SidebarItem }, computed: { ...mapGetters([ // ‘permission_routers‘, ‘sidebar‘ ]), isCollapse() { return !this.sidebar.opened } } } </script>
以上是关于结算系统时候用到的左侧递归 导航条功能的主要内容,如果未能解决你的问题,请参考以下文章
web实现点击左侧导航,右侧加载不同的网页(这种布局多用于后台管理系统)
Vue ElementUi导航组件结合后台管理实现左侧菜单滚动不显示滚动条
Vue ElementUi导航组件结合后台管理实现左侧菜单滚动不显示滚动条
CSS课程网站 Banner 制作 ② ( Banner 栏版心盒子测量 | Banner 版心盒子模型左侧导航栏代码示例 )