一个叫Y的程序猿 2021-09-10 14:34 采纳率: 100%
浏览 1018
已结题

element中el-menu-item图标不显示

element中的el-menu-item这个标签在没有二级菜单的时候,折叠后一级菜单图标不显示,请问这是啥问题
就算我把图标写成固定的,也是一样的不能显示

在线等

这是渲染菜单的代码

<el-menu :default-active="$route.path" unique-opened class="el-menu-vertical-demo" router
                                background-color="#304156" text-color="#fff" :collapse="menuStatus">

                                <component class="menu-item" v-for="item in menuTreeData" :key='item.pagePath'
                                    :index='item.pagePath'
                                    :is="(item.children && item.children.length>0)? 'el-submenu' : 'el-menu-item'">
                                    
                                    <template slot="title">
                                        <i :class="item.icon"></i>
                                        <span slot="title">{{item.menuName}}</span>
                                    </template>
                                    
                                    
                                    <template v-if="item.children && item.children.length>0">
                                        <el-menu-item v-for="item2 in item.children" :key='item2.pagePath'
                                            :index="item2.pagePath">
                                            <i :class="item2.icon"></i>
                                            <span>{{item2.menuName}}</span>
                                        </el-menu-item>
                                    </template>

                                </component>
                            </el-menu>

img

img

  • 写回答

1条回答 默认 最新

  • tonyzhangcn 2021-09-10 16:16
    关注

    看官方文档,el-menu-item的时候icon是放在template 的外面的。不是放在里面的。改成放到外面后就可以正常显示了。

    <i :class="item.icon"></i>
    <template #title>
      <span>{{ item.menuName }}</span>
    </template>
    

    而不是

    <template #title>
        <i :class="item.icon"></i>
        <span>{{ item.menuName }}</span>
    </template>
    

    可以把你的代码改成这样。供你参考:

    <template>
      <el-menu :default-active="currentMenu" unique-opened class="el-menu-vertical-demo" router
               background-color="#304156" text-color="#fff" :collapse="menuStatus">
        <template v-for="item in menuTreeData" :key='item.pagePath'>
          <template v-if="item.children && item.children.length>0">
            <el-submenu :index='item.pagePath'>
              <template #title>
                <i :class="item.icon"></i>
                <span>{{ item.menuName }}</span>
              </template>
              <el-menu-item v-for="item2 in item.children" :key='item2.pagePath'
                            :index="item2.pagePath">
                <i :class="item2.icon"></i>
                <span>{{ item2.menuName }}</span>
              </el-menu-item>
            </el-submenu>
          </template>
    
          <template v-else>
            <el-menu-item :index='item.pagePath'>
              <i :class="item.icon"></i>
              <template #title>
                <span>{{ item.menuName }}</span>
              </template>
            </el-menu-item>
          </template>
        </template>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月13日
  • 已采纳回答 9月13日
  • 创建了问题 9月10日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?