核心特性
Element Plus 的设计哲学和关键技术特性
🎯 Vue 3原生
基于Vue 3 Composition API开发,完美支持Vue 3
📦 70+组件
提供丰富的高质量组件,覆盖大部分业务场景
🎨 主题定制
支持CSS变量和SCSS,轻松定制主题风格
🌍 国际化
内置多语言支持,覆盖50+语言
♿ 无障碍
遵循WAI-ARIA标准,提供良好的无障碍支持
⚡ 按需导入
支持Tree-shaking,按需引入减小包体积
生态系统
Element Plus 核心扩展和官方工具
Element Plus Icons
官方图标库,提供1000+图标
Element Plus Playground
在线演练场,实时预览组件效果
Vue Element Admin
基于Element Plus的后台管理模板
Vite Plugin Element Plus
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,组件更丰富。