当前位置: 首页 > Web前端 > vue.js

解决AntDesignVuepro切换不同权限账号时,左侧菜单不刷新的问题

时间:2023-04-01 11:10:18 vue.js

在使用antdesignvuepro的时候,我本来是用普通用户的账号登录的,然后退出了。当我切换到admin账号后,发现左边的菜单还是原来的普通用户菜单,需要刷新才能正常显示。第一次修改的思路是登录成功后刷新页面,但是一闪而过对用户体验不是很好。这时可以采用重置路由的方法。在router/index.jsconstcreateRouter=()=>newRouter({mode:'hash',routes:constantRouterMap})constrouter=createRouter()//导出一个重置路由的方法,退出时清除动态加载路由导出函数resetRoute(){constnewRouter=createRouter()router.matcher=newRouter.matcher}exportdefaultrouterinthelogoutplacestore/modules/user.jsimport{resetRoute}from'@/router'//logoutLogout({commit,state}){returnnewPromise((resolve)=>{logout(state.token).then(()=>{resolve()}).catch(()=>{resolve()}).finally(()=>{//在这里执行重置路由resetRoute()commit('SET_TOKEN','')commit('SET_ROLES',[])storage.remove(ACCESS_TOKEN)Cookies.remove(ACCESS_TOKEN,{path:'/',domain:process.env.VUE_APP_DOMAIN})})})}然后切换不同用户的左侧菜单就没有问题了!