解决elemnets+vue动态导入图标问题

解决elemnets+vue动态导入图标问题

渲染代码

export const shipManagementMenu = [
  {
    index: '/shipManagement',
    title: '进出港统计',
    icon: 'List',
    children: [
      {
        index: '/shipManagement/DepartureApplication',
        title: '出港申请',
        icon: 'CollectionTag'
      },
      {
        index: '/shipManagement/PortRecord',
        title: '进出港记录',
        icon: 'CollectionTag'
      }
    ]
  }
]

错误代码

  <el-icon><{{ item.icon }} /></el-icon>

错误效果

在这里插入图片描述

解决方法:使用component

正确代码

 <el-menu
        :default-active="route.path"
        class="el-menu-vertical-demo"
        :collapse="props.isCollapse"
        router
      >
        <template v-for="(item, index) in shipManagementMenu" :key="index">
          <el-sub-menu :index="item.index">
            <template #title>
              <el-icon>
                <component :is="item.icon"></component>
              </el-icon>
              <span>{{ item.title }}</span>
            </template>
            <template v-for="(obj, i) in item.children" :key="i">
              <el-menu-item :index="obj.index">{{ obj.title }}</el-menu-item>
            </template>
          </el-sub-menu>
        </template>
      </el-menu>

正确效果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值