Element Plus 折叠菜单侧边栏时,图标异常消失问题

735 阅读1分钟

Element Plus 折叠侧边栏时,图标异常消失问题

1. 源代码,折叠侧边栏时,图标异常隐藏

            <!-- 有子菜单 -->
            <el-sub-menu v-if="item.children" :index="index + ''">
              <template #title>
              // 【折叠时希望隐藏的图标】
                <span :class="`icon-${getIconName(item.path || item.menuCode)} unset-before mgr5`" />
                <span>'父菜单一'</span>
              </template>
              <el-menu-item
              >
                '子菜单一'
              </el-menu-item>
            </el-sub-menu>
  • 图标和文本都用 <span/> 标签展示

2. 修改代码,折叠侧边栏时,图标正常显示

            <!-- 有子菜单 -->
            <el-sub-menu v-if="item.children" :index="index + ''">
              <template #title>
              // 【此处把 span 标签修改为 i 标签】
                <i :class="`icon-${getIconName(item.path || item.menuCode)} unset-before mgr5`" />
                <span>'父菜单一'</span>
              </template>
              <el-menu-item
              >
                '子菜单一'
              </el-menu-item>
            </el-sub-menu>
  • 把用于展示图标的<span/>标签替换成 <i/> 标签
  • 文本展示还是用 <span/> 标签

3. 总结

  1. 后续测试过文字展示部分使用 <div/> 标签时,在折叠菜单侧边栏的时候,文字也不会隐藏
  2. 猜想(没有详细验证),可能折叠菜单侧边栏的时候是折叠 <span/> 标签内容