用的是element-plus 2.3.4
1、检查el-menu标签内是否写了collapse
2、在MenuItem组件内
el-menu-item中icon不要写在title内,el-sub-menu内,不用el-icon标签包裹,icon能在展开情况下显示,但在折叠后就不会显示的问题,加上el-icon标签,就能正常显示,具体原因未知,个人猜测是组件折叠时内部会检测icon元素保留显示,知道的大佬可以在评论区分享指正,谢谢!
<template>
<template v-for="item in routes" :key="item.name">
<el-menu-item v-if="!item?.children" :index="item.code">
<el-icon size="1rem" v-if="item.icon">
<component :is="item.icon"></component>
</el-icon>
<template #title>
{{ cRoute[item.name] }}
</template>
</el-menu-item>
<el-sub-menu v-else :index="item.code">
<template #title>
<el-icon size="1rem">
<component :is="item.icon"></component>
</el-icon>
<span>{{ cRoute[item.name] }}</span>
</template>
<menu-item :routes="item.children" />
</el-sub-menu>
</template>
</template>
虽然是很小的问题,但研究了非常久,一直在错误的方向上研究,所以!大家使用这个组件的时候出现问题一定要先去官网对照模板看一下!