|
@@ -8,7 +8,7 @@
|
|
|
class="ant-menu-ul"
|
|
|
mode="inline"
|
|
|
theme="dark"
|
|
|
- :defaultSelectedKeys="[activeMenu]"
|
|
|
+ :selectedKeys.sync="activeMenu"
|
|
|
:openKeys.sync="defaultOpenKeys"
|
|
|
>
|
|
|
<template v-for="item in routes">
|
|
@@ -83,7 +83,7 @@ export default {
|
|
|
},
|
|
|
created() {},
|
|
|
mounted() {
|
|
|
- this.defaultOpenKeys = this.initDataFun(); //初始化数据
|
|
|
+ this.defaultOpenKeys = this.initDataFun(this); //初始化数据
|
|
|
},
|
|
|
beforeDestroy() {},
|
|
|
watch: {},
|
|
@@ -91,23 +91,25 @@ export default {
|
|
|
...mapGetters(['routes', 'sidebar']),
|
|
|
// 菜单选择变化时,需要刷新值
|
|
|
activeMenu() {
|
|
|
- const route = this.$route;
|
|
|
+ let that = this;
|
|
|
+ const route = that.$route;
|
|
|
const { meta, path } = route;
|
|
|
// if set path, the sidebar will highlight the path you set
|
|
|
if (meta.activeMenu) {
|
|
|
return meta.activeMenu;
|
|
|
}
|
|
|
// console.log(meta, path);
|
|
|
- return path;
|
|
|
+ that.defaultOpenKeys = that.initDataFun(that);
|
|
|
+ return [path];
|
|
|
},
|
|
|
},
|
|
|
methods: {
|
|
|
// 初始化菜单展开状态
|
|
|
- initDataFun() {
|
|
|
+ initDataFun(that) {
|
|
|
let defaultPath = [];
|
|
|
- let routeInfo = optionalCopy(this.$route, 'matched');
|
|
|
- for (let i = 0; i < this.routes.length; i++) {
|
|
|
- let item = this.routes[i];
|
|
|
+ let routeInfo = optionalCopy(that.$route, 'matched');
|
|
|
+ for (let i = 0; i < that.routes.length; i++) {
|
|
|
+ let item = that.routes[i];
|
|
|
if (item.path === routeInfo.path) {
|
|
|
// console.log('1111');
|
|
|
break;
|