el-menu的default-openeds
为响应式数据时不生效
原因:在el-menu组件渲染后设置default-openeds
一般项目中,会统一获取全部当前用户的可访问菜单,将需要默认展开的菜单预先处理成数组,设置到default-openeds,再渲染el-menu组件
<el-menu
v-if="openeds.length > 0"
:default-active="activeIndex"
mode="vertical"
:default-openeds="openeds"
>
<!-- .... -->
</el-menu>
const openeds = computed(() => {
const set = new Set<string>();
Object.values(menuStore.leftMenuMap).map((menu: Array<Record<string, string>>) =>
menu
.filter((menuItem) => size(menuItem.childs) > 0)
.map((menuItem) => {
set.add(menuItem.route);
}),
);
return [...set];
});