el-menu二级菜单保持横向展开一直显示
时间: 2024-08-22 11:02:28 浏览: 69
在Ant Design Vue库中,`el-menu`组件用于创建导航菜单,如果想要让二级菜单始终保持横向展开显示,你需要配置`open-keys`属性并监听菜单的变化。当你点击一级菜单项时,保存下对应的key值,然后当需要展示二级菜单时,将这个key设置给`open-keys`。
示例代码如下:
```html
<template>
<div>
<el-menu :default-active="defaultActive" class="menu">
<el-menu-item v-for="(item, index) in menuItems" :key="index" @click="handleMenuClick(item)">
{{ item.name }}
<el-submenu v-if="item.children" :open-key="item.key">
<template slot="subTitle">{{ item.subTitle }}</template>
<el-menu-item-group v-for="(groupItem, groupIndex) in item.children" :key="groupIndex">
<el-menu-item :index="groupItem.index">{{ groupItem.name }}</el-menu-item>
</el-menu-item-group>
</el-submenu>
</el-menu-item>
</el-menu>
</div>
</template>
<script>
export default {
data() {
return {
defaultActive: '', // 初始激活的一级菜单项
menuItems: [
... // 这里填充你的菜单数据,包括一级菜单和它们对应的二级菜单
],
activeKey: null,
};
},
methods: {
handleMenuClick(item) {
this.activeKey = item.key; // 当点击一级菜单,更新activeKey
},
},
computed: {
openKeys() {
return [this.activeKey]; // 在需要显示二级菜单时,设置open-keys为当前激活的key
}
},
};
</script>
```
在这个例子中,`handleMenuClick`函数会在用户点击一级菜单时更新`activeKey`,然后在`openKeys`计算属性中设置它,使得二级菜单始终对应于上一次点击的菜单项。
阅读全文