Element Plus

Vue 3组件库,适合中后台管理系统。饿了么前端团队出品,开箱即用。

2020发布年份
饿了么开发团队

核心特性

Element Plus 的设计哲学和关键技术特性

🎯 Vue 3原生

基于Vue 3 Composition API开发,完美支持Vue 3

📦 70+组件

提供丰富的高质量组件,覆盖大部分业务场景

🎨 主题定制

支持CSS变量和SCSS,轻松定制主题风格

🌍 国际化

内置多语言支持,覆盖50+语言

♿ 无障碍

遵循WAI-ARIA标准,提供良好的无障碍支持

⚡ 按需导入

支持Tree-shaking,按需引入减小包体积

生态系统

Element Plus 核心扩展和官方工具

Element Plus Icons

官方图标库,提供1000+图标

图标 SVG

Element Plus Playground

在线演练场,实时预览组件效果

工具 演练

Vue Element Admin

基于Element Plus的后台管理模板

模板 后台

Vite Plugin Element Plus

Vite插件,支持自动导入和按需加载

Vite 插件

快速入门

# 安装Element Plus
npm install element-plus

# 完整引入
import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'

const app = createApp(App)
app.use(ElementPlus)
app.mount('#app')

# 按需引入(推荐)
npm install -D unplugin-vue-components unplugin-auto-import

配置示例

// vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

export default defineConfig({
  plugins: [
    vue(),
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
})

// 使用示例
<template>
  <el-button type="primary">主要按钮</el-button>
  <el-table :data="tableData">
    <el-table-column prop="date" label="日期" />
    <el-table-column prop="name" label="姓名" />
    <el-table-column prop="address" label="地址" />
  </el-table>
  <el-pagination
    v-model:current-page="currentPage"
    :page-size="10"
    :total="100"
    layout="total, prev, pager, next"
  />
</template>

学习资源

与其他Vue UI库对比

vs Ant Design Vue

Element Plus更适合中后台,Ant Design Vue设计更现代,国际化更好。

vs Vuetify

Element Plus轻量级,Vuetify遵循Material Design,组件更丰富。