vue3 如何将el-menu按条件展开
时间: 2023-12-06 09:05:14 浏览: 96
要按条件展开 Vue3 的 el-menu,可以使用 v-model 绑定 el-menu 的展开状态,并且在绑定的属性中设置一个变量,来控制 el-menu 的展开状态。例如:
```html
<template>
<el-menu :default-active="activeIndex" class="el-menu-vertical-demo" v-model="isCollapsed">
<el-submenu index="1">
<template #title>
<i class="el-icon-location"></i>
<span>导航一</span>
</template>
<el-menu-item-group>
<template #title>分组一</template>
<el-menu-item index="1-1">选项1</el-menu-item>
<el-menu-item index="1-2">选项2</el-menu-item>
</el-menu-item-group>
<el-menu-item-group title="分组2">
<el-menu-item index="1-3">选项3</el-menu-item>
</el-menu-item-group>
<el-submenu index="1-4">
<template #title>选项4</template>
<el-menu-item index="1-4-1">选项4-1</el-menu-item>
</el-submenu>
</el-submenu>
<el-menu-item index="2">
<i class="el-icon-menu"></i>
<span>导航二</span>
</el-menu-item>
<el-menu-item index="3">
<i class="el-icon-setting"></i>
<span>导航三</span>
</el-menu-item>
</el-menu>
</template>
<script>
import { ref } from 'vue';
export default {
name: 'MenuDemo',
setup() {
const isCollapsed = ref(false); // 控制 el-menu 的展开状态
const activeIndex = ref('1-1'); // 控制 el-menu 默认选中项
return {
isCollapsed,
activeIndex,
};
},
};
</script>
```
在这个示例中,我们使用了 ref 创建了一个名为 isCollapsed 的变量,并将其绑定到了 el-menu 的 v-model 属性上,这样就可以通过修改 isCollapsed 的值来控制 el-menu 的展开状态了。最后,我们将 isCollapsed 变量返回给模板中使用。
阅读全文