el-menu 绑定路由:跳转到二级路由时保持一级菜单高亮

文章讲述了在Vue.js中处理el-menu组件时,如何在操作当前菜单项时保持一级菜单高亮。通过使用深度选择器添加高亮样式,以及利用route.path.match(menu.path)判断当前路由是否匹配菜单路径,动态添加高亮类,解决了二级路由切换时高亮效果消失的问题。
摘要由CSDN通过智能技术生成

 需求:在当前菜单项进行操作时,保持一级菜单高亮

 这里代码实现很简单,只需要使用深度选择器 找到el-menu上的is-active,修改相应的样式即可。

//高亮效果
:deep(.el-sub-menu.is-active) {
  .el-sub-menu__title.el-tooltip__trigger.el-tooltip__trigger {
    color: #c3292a;
    background-color: #fff !important;
    border-radius: 10px 0px 10px 0px;
  }
}

但是这样设置有一个问题,当我们跳转到二级路由的时候,el-menu就会失去is-active类名,高亮效果也就随即消失。如下图:

解决方案:

        判断当前路由path是否包含el-menu router中的path。使用到字符串的match方法。并设置一个拥有高亮效果的类。核心在于 route.path.match(menu.path)

代码:

          <el-sub-menu 
            :index="menu.path + ''" 
            v-for="(menu, index) in menuList"         
            :key="index"
            :class="{ isActive: route.path.match(menu.path) }">
            ...    
          </el-sub-menu>
:deep(.isActive) {
  .el-sub-menu__title.el-tooltip__trigger.el-tooltip__trigger {
    color: #c3292a;
    background-color: #fff !important;
    border-radius: 10px 0px 10px 0px;
  }
}

这样就实现高亮了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值