el-menu二级菜单选中后一级菜单也高亮
时间: 2023-09-19 15:03:11 浏览: 362
要实现el-menu二级菜单选中后一级菜单也高亮,可以通过以下步骤:
1. 在el-menu组件上设置default-active属性,将一级菜单的默认选中项设置为需要高亮的一级菜单。
```vue
<el-menu default-active="home">
<!-- 菜单项 -->
</el-menu>
```
2. 在二级菜单el-menu-item-group中使用index属性绑定一级菜单的值,当二级菜单被选中时,通过index将选中项的值传递给一级菜单进行高亮。
```vue
<el-menu default-active="home">
<el-menu-item group-title="Home" index="home">首页</el-menu-item>
<el-menu-item-group title="分类">
<el-menu-item index="food">美食</el-menu-item>
<el-menu-item index="travel">旅行</el-menu-item>
</el-menu-item-group>
</el-menu>
```
3. 在computed计算属性中定义一个值,当二级菜单被选中时将index的值赋给这个属性,在一级菜单的class属性中绑定这个计算属性,并根据是否和选中项的值相等来决定是否高亮。
```vue
<el-menu default-active="home">
<el-menu-item :class="{'active': activeItem === 'home'}" index="home">首页</el-menu-item>
<el-menu-item-group title="分类">
<el-menu-item :class="{'active': activeItem === 'food'}" index="food">美食</el-menu-item>
<el-menu-item :class="{'active': activeItem === 'travel'}" index="travel">旅行</el-menu-item>
</el-menu-item-group>
</el-menu>
```
```javascript
exports default {
computed: {
activeItem() {
return this.$route.query && this.$route.query.index
}
}
}
```
通过以上步骤,当选中二级菜单时,一级菜单对应的项也会高亮显示。
阅读全文