官网地址:https://element-plus.org/zh-CN/component/icon.html#icon-collection

面向Vue2的是element-ui组件库,随着Vue2停止维护升级为Vue3,element也推出了面向Vue3的组件库element plus(element+)

本篇文章用于分享如何在Vue3项目中使用elementplus提供的icon图标库

1.在项目中安装icon库

这里提供三种包管理器下载方式,我一般用npm,换了国内镜像源还是挺快的

npm安装

 npm install @element-plus/icons-vue

yarn安装

yarn add @element-plus/icons-vue

pnpm安装

pnpm install @element-plus/icons-vue

找到你的vue项目输入cmd回车

 

复制一个你想要的安装方式进去,我的npm2s就完成了

 2.实现自动导入icon

自动导入的意思就是省去了单独import某一个icon,而直接在需要的地方使用,会自动把你使用的icon导入进来,这样做省去了导入过程,使得代码更加简洁优雅

要实现自动导入icon需要安装三个插件

两个插件分别是unplugin-iconsunplugin-auto-import和npm install -D unplugin-vue-components

使用包管理工具npm或者yarn安装

npm

npm install -D unplugin-icons unplugin-auto-import  unplugin-vue-components

yarn

yarn add -D unplugin-icons unplugin-auto-import  unplugin-vue-components

步骤同上,就不再展示

完成安装

3.配置自动导入插件

基于vite创建的vue项目有一个vite.config.js文件,打开这个文件,配置这两个插件

打开后项目结构是这样的

首先添加五个import

import Icons from 'unplugin-icons/vite';
import AutoImport from 'unplugin-auto-import/vite';
import IconsResolver from 'unplugin-icons/resolver';
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

然后在plugins处配置自动导入

AutoImport({
  imports: ['vue'],
  // Auto import functions from Element Plus, e.g. ElMessage, ElMessageBox... (with style)
  // 自动导入 Element Plus 相关函数,如:ElMessage, ElMessageBox... (带样式)
  resolvers: [
    ElementPlusResolver(),
    IconsResolver({
      prefix: 'Icon',
    })],
}),

  Components({
    resolvers: [

      IconsResolver({

        enabledCollections: ['ep'],
      }),
      ElementPlusResolver(),
    ],
  }),
  Icons({
    autoInstall: true,
  }),

这样就配置成功了,在你的组件中可以直接使用图标,而无需显示导入

图标从element+的icons集合中找

直接点击图标就可以直接复制代码

<el-icon><Avatar /></el-icon>

上面的代码就是一键复制的结果,这个图标叫Avatar,外面还包了一层el-icon,在使用是需要加上前缀

<el-icon> 组件用于显示图标,它可以接收一个 SVG 图标组件作为子组件来显示具体的图标。

此外,<el-icon> 组件还支持一些属性,比如 sizecolor,你可以使用这些属性来调整图标的大小和颜色:

<template>
  <div>
    //一下三种写法均可,推荐第三种
    <el-icon size="20px" color="red"> <i-ep-avatar /> </el-icon>
    <el-icon size="20px" color="red"> <i-ep-Avatar /> </el-icon>
    <el-icon size="20px" color="red"> <IEpAvatar /> </el-icon>//推荐
  </div>
</template>

以上就是全部内容了

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐