zoukankan      html  css  js  c++  java
  • 解决Ant Design Pro VUE,切换用户之后,左侧菜单不刷新问题

    在网上尝试过很多方法都不可以,包括重置路由,刷新页面的时候可以,但是使用起来对于用户不太友好,后来经过努力查找,发现经过深拷贝的OK的,以此记录

    文件路径 src/store/modules/permission.js

    // 从lodash中引入深拷贝
    import cloneDeep from "lodash.clonedeep";
    
    //修改此函数
    function filterAsyncRouter(routerMap, roles) {
      // 增加此行是因为如果不深拷贝,会更改原路由表,当切换用户时,会出现用户该有的菜单无法显示
      let asyncRouterMap = cloneDeep(routerMap);
      const accessedRouters = asyncRouterMap.filter(route => {
        if (hasPermission(roles.permissionList, route)) {
          if (route.children && route.children.length) {
            route.children = filterAsyncRouter(route.children, roles);
          }
          return true;
        }
        return false;
      });
      return accessedRouters;
    }
    

      

    参考连接:https://www.jianshu.com/p/537f29833db9

    如果您认为这篇文章还不错或者有所收获,您可以点击文章下面的【推荐】按钮精神支持,因为这种支持是我继续写作,分享的最大动力!
    声明:原创博客请在转载时保留原文链接或者在文章开头加上本人博客地址,如发现错误,欢迎批评指正。凡是转载于本人的文章,不能设置打赏功能,如有特殊需求请与本人联系!
  • 相关阅读:
    CSS关键词的值-currentColor关键字提示文字(当前颜色)
    DOM 对象方法
    CSS三种样式表
    html页面不使用缓存的代码
    DOM-----style属性对照表
    UISwitch属性
    UIImageView属性
    UIView属性
    UIScrollView
    UILabel属性
  • 原文地址:https://www.cnblogs.com/gskstudy/p/15714460.html
Copyright © 2011-2022 走看看