Element-Plus 图标自动导入

简介: Element-Plus 图标自动导入

引言


Element-Plus 官方提供了四种 安装图标方式 方式,本文将详细介绍如何通过自动导入方式。从 Iconify 中自动导入任何图标集。


本篇参考官方 自动导入模板


安装 Element-Plus

npm install element-plus

安装自动导入依赖


Element-Plus 自动导入(推荐)

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

安装自动导入图标依赖


Element-Plus 图标自动导入

npm i -D unplugin-icons

自动导入配置


.eslintrc.cjs


自动导入函数 eslint 规则引入

"extends": [
    "./.eslintrc-auto-import.json"
]

tsconfig.json


自动导入TS类型声明文件引入

{
  "include": ["src/**/*.d.ts"]
}

vite.config.ts

import path from 'path'
import { defineConfig } from 'vite'
import Vue from '@vitejs/plugin-vue'
import Icons from 'unplugin-icons/vite'
import IconsResolver from 'unplugin-icons/resolver'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
const pathSrc = path.resolve(__dirname, 'src')
export default defineConfig({
  resolve: {
    alias: {
      '@': pathSrc,
    },
  },
  plugins: [
    Vue({
      reactivityTransform: true,
    }),
    AutoImport({
      // Auto import functions from Vue, e.g. ref, reactive, toRef...
      // 自动导入 Vue 相关函数,如:ref, reactive, toRef 等
      imports: ['vue', '@vueuse/core'],
      dirs: [path.resolve(pathSrc, 'composables')],
      // Auto import functions from Element Plus, e.g. ElMessage, ElMessageBox... (with style)
      // 自动导入 Element Plus 相关函数,如:ElMessage, ElMessageBox... (带样式)
      resolvers: [
        ElementPlusResolver(),
        // Auto import icon components
        // 自动导入图标组件
        IconsResolver({}),
      ],
      vueTemplate: true,
      dts: path.resolve(pathSrc, 'typings', 'auto-imports.d.ts'),
    }),
    Components({
      resolvers: [
        // Auto register icon components
        // 自动注册图标组件
        IconsResolver({
          enabledCollections: ['ep'],
        }),
        // Auto register Element Plus components
        // 自动导入 Element Plus 组件
        ElementPlusResolver(),
      ],
      dts: path.resolve(pathSrc, 'typings', 'components.d.ts'),
    }),
    Icons({
      autoInstall: true,
    }),
  ],
})

自动导入图标使用


默认名称格式: i-ep-图标名 ,图标名在 Element-Plus 官方-图标集合 查询

  <div class="avatar">
    <img :src="userStore.user.avatar + '?imageView2/1/w/80/h/80'" />
    <!-- i-ep-图标名(CaretBottom ) -->
    <i-ep-CaretBottom />
  </div>

效果如下:

5.png

自动导入图标样式


如何修改通过自动导入图标的大小和颜色样式?

 <el-icon :size="12" color="#409eff">
   <i-ep-CaretBottom />
 </el-icon>

6.png

开源项目


  • 微服务商城项目


前后端分离项目

相关文章
|
2月前
|
JavaScript 前端开发
vue前端下载,实现点击按钮弹出本地窗口,选择自定义保存路径
这个不用代码实现(网上也找不到方法可以调出另存为窗口),更改浏览器设置就可以,否则,现在的浏览器都是默认直接保存到下载路径中
77 3
|
JavaScript 索引
【vue】element ui 实现动态表单点击按钮新增行/删除行
【vue】element ui 实现动态表单点击按钮新增行/删除行
3171 0
|
JavaScript
VUE element-ui之el-form表单点击按钮自动增加表单(输入框),可新增删除
VUE element-ui之el-form表单点击按钮自动增加表单(输入框),可新增删除
1891 0
VUE element-ui之el-form表单点击按钮自动增加表单(输入框),可新增删除
|
2月前
antd如何隐藏Upload组件的删除和预览图标
antd如何隐藏Upload组件的删除和预览图标
105 1
|
5月前
|
JavaScript API
Element Plus组件库中的input组件如何点击查看按钮时不可编辑,点击编辑时可编辑使用setup
Element Plus组件库中的input组件如何点击查看按钮时不可编辑,点击编辑时可编辑使用setup
45 0
|
5月前
|
JavaScript
Vue + Element UI 实现复制当前行数据功能(复制到新增页面组件值不能更新等问题解决)
# 1、需求 使用Vue + Element UI 实现在列表的操作栏新增一个复制按钮,复制当前行的数据可以打开新增弹窗后亦可以跳转到新增页面,本文实现为跳转到新增页面。 # 2、实现 ## 1)列表页 index.vue ```html <el-table> <!-- 其他列 --> <el-table-column label="操作" width="150"> <template slot-scope="scope"> <el-button icon="el-icon-copy-document" title="复制" @click="toCopyNew(scope
74 0
|
6月前
|
JavaScript
JS设置select下拉框默认选中
JS设置select下拉框默认选中
|
6月前
vue-element日期框点击不显示,不刷新
vue-element日期框点击不显示,不刷新
|
9月前
|
前端开发
element-plus的自动导入和按需导入
element-plus的自动导入和按需导入
671 0
|
10月前
|
JavaScript
tab选项卡切换时echarts无法正常加载显示问题的解决方案
tab选项卡切换时echarts无法正常加载显示问题的解决方案
362 0