element-plus-icons踩坑
2022-03-10
前言
最近在练习vue3 项目时使用element-plus推荐的自动导入方式安装图标库,没想到踩了两个坑。
遇到的问题
-
只安装
unplugin-icons和unplugin-auto-import无法使用,还需安装@iconify-json/ep,另外使用图标时需要加上i-ep-后面跟上图标名,如i-ep-Search。 -
由于使用自动导入的方式,在使用动态组件循环渲染图标时,图标会不显示。这是由于
unplugin-vue-components的工作机制,无法从动态字符串推断组件。unplugin-icons仅在构建时解析图标。
解决办法
显式使用图标,即
<script setup>
const items = [
{
name: 'Alarm',
icon: IconMdiAlarm,
},
{
name: 'Account',
icon: IconMdiAccount,
}
]
</script>
<template>
<div v-for="i of items">
<component :is="i.icon"/>
</div>
</template>
关于坑二官方的说明:https://github.com/unplugin/unplugin-icons/issues/5