官网

https://element-plus.org/zh-CN/

安装

  1. # 选择一个你喜欢的包管理器
  2. # NPM
  3. $ npm install element-plus --save
  4. # Yarn
  5. $ yarn add element-plus

Volar 支持

如果您使用 Volar,请在 tsconfig.json 中通过 compilerOptions.type 指定全局组件类型。

  1. // tsconfig.json
  2. {
  3. "compilerOptions": {
  4. // ...
  5. "types": ["element-plus/global"]
  6. }
  7. }

自动导入组件

首先你需要安装unplugin-vue-componentsunplugin-auto-import这两款插件

  1. # 使用npm
  2. $ npm install -D unplugin-vue-components unplugin-auto-import
  3. # 使用yarn
  4. $ yarn add -D unplugin-vue-components unplugin-auto-import

然后把下列代码插入到你的 Vite 或 Webpack 的配置文件中:

Vite

  1. // vite.config.ts
  2. import AutoImport from 'unplugin-auto-import/vite'
  3. import Components from 'unplugin-vue-components/vite'
  4. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  5. export default {
  6. plugins: [
  7. // ...
  8. AutoImport({
  9. resolvers: [ElementPlusResolver()],
  10. }),
  11. Components({
  12. resolvers: [ElementPlusResolver()],
  13. }),
  14. ],
  15. }

Webpack

  1. // webpack.config.js
  2. const AutoImport = require('unplugin-auto-import/webpack')
  3. const Components = require('unplugin-vue-components/webpack')
  4. const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')
  5. module.exports = {
  6. // ...
  7. plugins: [
  8. AutoImport({
  9. resolvers: [ElementPlusResolver()],
  10. }),
  11. Components({
  12. resolvers: [ElementPlusResolver()],
  13. }),
  14. ],
  15. }

想了解更多打包 (Rollup, Vue CLI) 和配置工具,请参考 unplugin-vue-componentsunplugin-auto-import

自动引入样式

需要安装unplugin-element-plus工具:

  1. # 使用npm
  2. $ npm i unplugin-element-plus -D
  3. # 使用yarn
  4. $ yarn add unplugin-element-plus --dev

Vite配置

  1. // vite.config.ts
  2. import ElementPlus from 'unplugin-element-plus/vite'
  3. export default {
  4. plugins: [
  5. ElementPlus({
  6. // options
  7. }),
  8. ],
  9. }

详情请看:https://github.com/element-plus/unplugin-element-plus

Icon

安装

  1. $ yarn add @element-plus/icons-vue

注册所有图标

  1. // main.ts
  2. // if you're using CDN, please remove this line.
  3. import * as ElementPlusIconsVue from '@element-plus/icons-vue'
  4. const app = createApp(App)
  5. for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  6. app.component(key, component)
  7. }

使用

放在<el-icon>

  1. <template>
  2. <el-icon :size="20">
  3. <edit />
  4. </el-icon>
  5. <el-icon color="#409EFC" class="no-inherit">
  6. <share />
  7. </el-icon>
  8. </template>