improve: 侧边栏收缩判断

This commit is contained in:
From-wh 2023-02-24 17:59:01 +08:00
parent 160e01af47
commit 1e3beb79f2
2 changed files with 29 additions and 20 deletions

View File

@ -153,12 +153,12 @@ export default {
},
},
watch: {
openedNames() {
this.$nextTick(() => {
this.$refs.menu.updateOpened();
this.$refs.childMenu.updateActiveName();
});
},
// openedNames() {
// this.$nextTick(() => {
// this.$refs.menu.updateOpened();
// this.$refs.childMenu.updateActiveName();
// });
// },
activePath() {
this.$nextTick(() => {
this.$refs.childMenu.updateOpened();

View File

@ -198,20 +198,29 @@ new Vue({
const path = to.path;
let menus = this.$store.state.menus.menusName;
const menuSider = menus;
this.$store.commit('menu/setActivePath', path);
const openNames = getSiderSubmenu(to, menuSider);
this.$store.commit('menu/setOpenNames', openNames);
// 设置顶栏菜单 后台添加一个接口,设置顶部菜单
const headerSider = getHeaderSider(menuSider);
this.$store.commit('menu/setHeader', headerSider);
// 指定当前侧边栏隶属顶部菜单名称。如果你没有使用顶部菜单,则设置为默认的(一般为 home)名称即可
const headerName = getHeaderName(to, menuSider);
this.$store.commit('menu/setHeaderName', headerName);
// 获取侧边栏菜单
const filterMenuSider = getMenuSider(menuSider, headerName);
// 指定当前显示的侧边菜单
this.$store.commit('menu/setOpenMenuName', filterMenuSider[0].title);
this.$store.commit('menu/setSider', filterMenuSider[0]?.children || []);
if (headerName !== null) {
this.$store.commit('menu/setActivePath', path);
const openNames = getSiderSubmenu(to, menuSider);
this.$store.commit('menu/setOpenNames', openNames);
// 设置顶栏菜单 后台添加一个接口,设置顶部菜单
const headerSider = getHeaderSider(menuSider);
this.$store.commit('menu/setHeader', headerSider);
// 指定当前侧边栏隶属顶部菜单名称。如果你没有使用顶部菜单,则设置为默认的(一般为 home)名称即可
this.$store.commit('menu/setHeaderName', headerName);
// 获取侧边栏菜单
const filterMenuSider = getMenuSider(menuSider, headerName);
// 指定当前显示的侧边菜单
this.$store.commit('menu/setOpenMenuName', filterMenuSider[0].title);
this.$store.commit('menu/setSider', filterMenuSider[0]?.children || []);
} else {
//子路由给默认 如果你没有使用顶部菜单,则设置为默认的(一般为 home)名称即可
// this.$store.commit('menu/setHeaderName', 'home');
// 指定当前显示的侧边菜单
// this.$store.commit('menu/setSider', menuSider);
}
if (to.meta.kefu) {
document.getElementsByTagName('body')[0].className = 'kf_mobile';
} else {
@ -228,7 +237,7 @@ new Vue({
return;
}
// 在 404 时,是没有 headerName 的
// });
},
},