element plus 引入icon 三种方法

9 篇文章 0 订阅
8 篇文章 0 订阅

element plus 引入icon

方法一:直接引入

用法一:

 	  <el-icon color="#409EFC" class="no-inherit">
        <Edit />
      </el-icon>


  import { Edit } from '@element-plus/icons-vue';


用法二:

 	 <IconEpEdit /> 


	import IconEpEdit from '~icons/ep/edit';

方法二:vite按需引入

最初是在element-plus icon这里看见有自动引入的,但是没有找到完整的用例,直到在一个issues看到sxzz说到了一个最佳实践中找到了icon自动引入的完整用例。

注:这里要把 @element-plus/icons-vue 换成 @iconify-json/ep
pnpm i @iconify-json/ep -D

再加载vite的插件 pnpm i unplugin-vue-components unplugin-icons unplugin-auto-import -D

// @see: https://github.com/sxzz/element-plus-best-practices/blob/93be0126da935109ae25cf2f9539991fb4f1d87c/vite.config.ts
import Icons from 'unplugin-icons/vite'
import IconsResolver from 'unplugin-icons/resolver'
import Components from 'unplugin-vue-components/vite'
// ...
plugins: [
   //...

    Components({
      resolvers: [
        // Auto register icon components
        // 自动注册图标组件
        IconsResolver({
          enabledCollections: ['ep'],
        }),
      ],
    }),

    Icons({
      autoInstall: true,
    }),

    Inspect(),
  ],
// ...


	<i-ep-edit />

方案三:统一导入并注册(未验证)

看到了就做一个笔记,以防不测。
来源于网络:查看(里面还有icon的一些其他的使用案例)


//main.ts文件
import * as ElIconModules from '@element-plus/icons'

const app = createApp(App)
// 统一注册Icon图标
for (const iconName in ElIconModules) {
  if (Reflect.has(ElIconModules, iconName)) {
    const item = ElIconModules[iconName]
    app.component(iconName, item)
  }
}


 	  <el-icon color="#409EFC" class="no-inherit">
        <Edit />
      </el-icon>

  • 9
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值