el-menu页面内控制激活的菜单$router.path :default-active

需求是在页面内点击跳转,但是菜单项依然是激活状态,我这里实现的方法是做了子路由,然后使用push来控制路由跳转,跳转时使用$router.path来实现更改默认路由,注意子路由需要使用split来分割出第一个/后的一级路由,使用这个取出来的来赋给:default-active,这里因为是通过请求从后台获取的菜单路由,赋给index来实现动态加载不同的菜单项,所以会有el-menu的index可能为空的问题,也即是加载顺序的问题,这里使用了计算属性来动态的监控,双向绑定,也就勉强的解决了这个问题,这样会存在首次加载效果不出来的问题。但是相比等待后台请求后在加载页面,(注意请求时间,)用户的体验会好一些。
公司是不连接外网的,就不扣代码了。下面的两个博客足够借鉴了,主要是思路的问题。

el-menu页面内控制激活的index
https://blog.csdn.net/fifteen718/article/details/82792099

<el-menu
        :default-active="$route.path"
        class="el-menu-vertical-demo"
        :collapse="isCollapse"
        router
        overflow-y:
        scroll
      >
        <el-submenu index="1">
          <template slot="title">
            <i class="el-icon-menu"></i>
            <span slot="title">账号管理</span>
          </template>
          <el-menu-item index="/demo/index">列表</el-menu-item>
          <el-menu-item index="/demo/group/index">分组</el-menu-item>
        </el-submenu>
</el-menu>

将default-active设置为$route.path,el-menu-item的index设为要跳转的路由(并且点击菜单项,会直接push到点击的页面)。注意:一定要设置el-submenu的index属性(1,2,3…)。不然会出bug

这样就无需关心default-active的属性值了。只要路由改变了,对应的菜单项也会激活

原文链接:https://blog.csdn.net/weixin_42565137/article/details/91909055

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值