improve: 方法/层级

This commit is contained in:
From-wh 2023-02-24 10:16:07 +08:00
parent 5dbc05f539
commit 78c2da9e0b
2 changed files with 12 additions and 20 deletions

View File

@ -194,28 +194,26 @@ export default {
// setCookies('collapsed', state);
},
handleSelect(name, type) {
console.log(name, 'name');
this.menuList.map((e) => {
if (e.path === name) {
if (e.children && e.children.length) {
this.jump(e.children);
this.catName = e.title;
} else {
// if (!type) {
// this.$emit('on-select', name);
// }
}
this.turnToPage(this.getChilden(e));
}
});
},
// 递归处理顶部菜单问题
getChilden(data) {
if (data.children) {
return this.getChilden(data.children[0]);
}
return data.path;
},
handleChildSelect(name) {
this.turnToPage(name);
},
jump(data) {
if (data[0].children && data[0].children.length) {
if (data[0].children) {
this.jump(data[0].children);
} else {
console.log(data[0].path, 'data[0].path');
this.turnToPage(data[0].path);
}
},
@ -244,9 +242,7 @@ export default {
// this.openedNames = n
// this.$store.commit('menus/getopenMenus', n)
},
openChildNameData(e) {
console.log(e);
},
openChildNameData(e) {},
},
};
</script>
@ -332,7 +328,7 @@ export default {
}
}
.parent-menu {
z-index: 99;
z-index: 8;
padding: 0 8px;
box-shadow: 2px 0px 4px 0px rgba(0, 0, 0, 0.06);
height: calc(~'100vh - 50px');
@ -356,7 +352,7 @@ export default {
}
}
.child-menu {
z-index: 88;
z-index: 8;
.ivu-menu-vertical .ivu-menu-item {
padding: 13px 10px;
display: flex;

View File

@ -197,22 +197,18 @@ new Vue({
$route(to, from) {
const path = to.path;
let menus = this.$store.state.menus.menusName;
console.log(menus, 'menus');
const menuSider = menus;
this.$store.commit('menu/setActivePath', path);
const openNames = getSiderSubmenu(to, menuSider);
this.$store.commit('menu/setOpenNames', openNames);
// 设置顶栏菜单 后台添加一个接口,设置顶部菜单
const headerSider = getHeaderSider(menuSider);
console.log(headerSider, 'headerSider');
this.$store.commit('menu/setHeader', headerSider);
// 指定当前侧边栏隶属顶部菜单名称。如果你没有使用顶部菜单,则设置为默认的(一般为 home)名称即可
const headerName = getHeaderName(to, menuSider);
this.$store.commit('menu/setHeaderName', headerName);
// 获取侧边栏菜单
const filterMenuSider = getMenuSider(menuSider, headerName);
console.log(filterMenuSider, 'filterMenuSider');
// 指定当前显示的侧边菜单
this.$store.commit('menu/setOpenMenuName', filterMenuSider[0].title);
this.$store.commit('menu/setSider', filterMenuSider[0]?.children || []);