当从 'el-menu' 组件中的一个路由链接进入详情页时,可能会出现父级菜单高亮丢失的问题。这是因为 'el-menu' 组件默认只会高亮当前路由对应的菜单项,而不会高亮其父级菜单。

解决方法是在路由配置中添加 'meta' 属性,用来标记该路由对应的菜单项的路径。然后在 'el-menu' 组件中使用 'default-active' 属性设置默认高亮的菜单项路径,使用 'router' 属性启用路由模式。

下面是示例代码:

路由配置:

const routes = [
  {
    path: '/',
    redirect: '/home'
  },
  {
    path: '/home',
    component: Home,
    meta: {
      menuPath: '/home'
    }
  },
  {
    path: '/detail',
    component: Detail,
    meta: {
      menuPath: '/home/detail'
    }
  }
]

'el-menu' 组件:

<el-menu
  :default-active="$route.meta.menuPath"
  router
>
  <el-menu-item index="/home">首页</el-menu-item>
  <el-submenu index="/home">
    <template slot="title">菜单</template>
    <el-menu-item index="/home/detail">详情页</el-menu-item>
  </el-submenu>
</el-menu>

这样,当从菜单中进入详情页时,其父级菜单项 '/home' 也会被高亮。

Vue el-menu 路由跳转详情页 父级菜单高亮丢失解决方法

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

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