在 Vue el-menu 组件中,可以通过设置 'unique-opened' 属性来确保同一级菜单只能同时展开一个子菜单,从而避免进入详情页面后父级高亮丢失的问题。

具体实现步骤如下:

  1. 在 el-menu 组件中设置 'unique-opened' 属性为 true。
<el-menu 'unique-opened'>
  ...
</el-menu>
  1. 在进入详情页面后,通过路由参数或其他方式获取当前激活的菜单项的 index 值。

  2. 在父级组件中监听路由变化,根据当前路由参数或其他方式获取的 index 值来设置当前激活的菜单项,从而实现父级高亮的效果。

<el-menu :default-active='activeIndex'>
  ...
</el-menu>

...

data() {
  return {
    activeIndex: '1' // 默认激活的菜单项
  }
},
watch: {
  '$route': function(route) {
    // 根据路由参数或其他方式获取当前激活的菜单项的 index 值
    this.activeIndex = ...
  }
}

通过以上步骤,可以避免进入详情页面后父级高亮丢失的问题。同时,如果需要在进入详情页面后展开对应的子菜单,可以在设置当前激活的菜单项后,通过调用 el-menu 的 open 方法来展开对应的子菜单。

Vue el-menu 进入详情页面父级高亮丢失解决方案

原文地址: https://www.cveoy.top/t/topic/mHGU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录