vue3使用el-menu 点击后,其它层级菜单点击的颜色不会消失
时间: 2024-09-11 15:18:02 浏览: 42
element 中 el-menu 组件的无限极循环思路代码详解
在 Vue3 中,`el-menu` 是 Element UI 提供的一个导航组件,它通常用于创建分层的导航栏。如果你发现点击了某一级别菜单之后,其他级别的菜单选中样式并未取消,这可能是由于默认情况下,`el-menu` 的 `open-key` 或者 `default-active-first-child` 属性设置不当导致的。
`open-key` 属性用于保存当前展开的菜单项的 key,当切换到其他菜单时,需要手动清除之前保存的 key,或者将其设置为新的当前选中项的 key。例如:
```javascript
<template>
<el-menu :open-keys="activeKeys" @select="handleSelect">
<!-- ... menu items -->
</el-menu>
</template>
<script>
export default {
data() {
return {
activeKeys: [], // 保存当前选中项的 keys
};
},
methods: {
handleSelect(key) {
this.activeKeys = [key]; // 更新 open-keys 属性为新的选中项
}
}
}
</script>
```
如果你想让所有选项都保持原样直到用户选择另一个菜单,你可以尝试去掉 `open-key` 或者使用 `default-active-first-child` 来控制初始状态,但在切换时清除选中的状态。
如果问题仍然存在,还可能是其他 CSS 规则影响了选中的颜色,请检查是否有冲突的样式覆盖。如果还有疑问,请提供相关的代码片段以便更准确地分析。
阅读全文