在 Vue3 中使用 Element Plus

ElementPlus是基于Vue3的桌面端组件库,专为企业级中后台系统设计。


它采用Composition API和TypeScript重构,提供60+组件(包括表单、表格等),支持暗黑模式、国际化等功能。


相比旧版ElementUI,它完全适配Vue3并优化了TypeScript支持。


安装只需pnpm install element-plus,通过main.ts全局引入组件和CSS即可快速使用。


推荐按需引入以减少体积。


ElementPlus文档详细且社区活跃,是Vue3项目的高效开发选择。


Element Plus


Element Plus 是一套为开发者、设计师和产品经理准备的基于 Vue 3 的桌面端组件库。


简单来说,如果你正在使用 Vue 3 开发企业级的后台管理系统(如 CRM、ERP 或各种中后台界面),Element Plus 就是一套现成的"积木",能让你快速搭建出美观且功能完善的页面,而不需要从零开始写 CSS 和交互逻辑。


🚀 核心亮点

  1. Vue 3 原生支持 🌟
    它不是旧版的简单移植,而是基于 Vue 3 的 Composition API 和 TypeScript 从头重写的。
  2. 企业级定位 🏢
    它的设计初衷就是为了服务企业级中后台产品。组件风格简洁、统一,涵盖了从基础的按钮、表单,到复杂的表格、树形控件、数据大屏等几乎所有后台场景的需求。
  3. 现代化特性 🎨
    • 暗色主题: 内置了对暗黑模式的支持,满足不同用户的视觉偏好。
    • 国际化: 支持多语言切换,适配全球用户。
    • 无障碍访问: 组件在设计时考虑了可访问性,对屏幕阅读器等辅助技术有更好的支持。

📊 Element Plus vs 旧版 Element UI

很多开发者容易混淆 Element Plus 和 Element UI,它们其实是"父子"关系。


特性 Element UI (旧版) Element Plus (新版)
适用框架 Vue 2.x Vue 3.x
TypeScript 支持有限 原生支持,类型定义完善
核心架构 Options API 为主 Composition API
组件数量 约 50+ 60+ (功能更丰富)

🛠️ 如何开始使用?

如果你想在项目中引入 Element Plus,通常非常简单。


关联阅读推荐: 实用篇:vsCode 中连接 WSL 并快速开始一个 Vue3 新项目

假设你已经创建了一个 Vue 3 项目(推荐使用 Vite 脚手架),可以通过以下步骤安装:


安装依赖

你可以使用你喜欢的包管理器(npm, yarn, pnpm)进行安装:

bash 复制代码
# 使用 npm
npm install element-plus --save<websource>source_group_web_10</websource>

# 使用 yarn
yarn add element-plus

# 使用 pnpm
pnpm install element-plus
```<websource>source_group_web_11</websource>

引入方式

  • 完整引入:最简单的方式,在 `main.js` 中一次性引入所有组件和样式(适合快速原型开发,但打包体积较大)。

  • 按需引入(推荐):只引入你用到的组件,可以有效减少最终打包的 JS 体积。配合插件(如 `unplugin-vue-components` 和 `unplugin-auto-import`),你甚至不需要手动去 `import` 组件,写模板时直接用,插件会自动帮你引入。


总结

如果你正在启动一个新的 Vue 3 项目,Element Plus 是一个非常稳妥且高效的选择。它的文档非常完善,社区活跃度极高,遇到问题很容易找到解决方案。


你可以先访问它的[官方中文文档](https://element-plus.org/zh-CN/),那里有详细的组件示例和教程,能帮你快速上手。


在 `main.ts` 中一次性引入所有组件和样式


要在 main.ts完整引入 (全局引入)Element Plus,你需要做两件事:引入组件库本身引入对应的 CSS 样式文件


这是最简单、最直接的引入方式,适合快速搭建原型或对打包体积不敏感的项目。


✅ 步骤一:安装依赖

确保你已经安装了 element-plus 包。如果没有,请在终端运行:

bash 复制代码
pnpm install element-plus

或使用 npm/yarn


✅ 步骤二:修改 main.ts 文件

打开你的 main.ts(通常在 src/main.ts),按照以下代码进行配置:

TypeScript 复制代码
import { createApp } from 'vue'
import App from './App.vue'

// 1. 引入 Element Plus 组件库
import ElementPlus from 'element-plus'

// 2. 引入 Element Plus 的样式文件 (非常重要!)
import 'element-plus/dist/index.css'

// 3. 创建应用实例
const app = createApp(App)

// 4. 使用 Element Plus (将其注册为全局插件)
app.use(ElementPlus)

// 5. 挂载应用
app.mount('#app')

💡 关键点说明

  1. import 'element-plus/dist/index.css'
    • 这一行必不可少。如果你只引入了组件库但没引入 CSS,页面上只会显示原始的 HTML 标签(没有颜色、圆角、阴影等样式) [[3.

app.use(ElementPlus)

  • 这行代码会将所有的 Element Plus 组件(如 ElButton, ElTable 等)注册为全局组件。这意味着你在任何 .vue 文件的模板中都可以直接使用 <el-button>,而不需要在单个组件内再次 import [[2, 5.

🌍 补充:设置中文(可选)

Element Plus 默认是英文。如果你希望全局默认使用中文(例如日期选择器显示"年/月/日"而不是"Jan/Feb"),可以稍微修改一下代码:

TypeScript 复制代码
import { createApp } from 'vue'
import App from './App.vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'

// 引入中文语言包
import zhCn from 'element-plus/es/locale/lang/zh-cn'

const app = createApp(App)

// 在 use 时传入 locale 选项
app.use(ElementPlus, {
  locale: zhCn,
})

app.mount('#app')

完成以上步骤后,你就可以在项目中任意位置直接使用 Element Plus 的组件了,例如在 App.vue 中:

javascript 复制代码
<template> <el-button type="primary">你好,Element Plus!</el-button> </template>

页面效果

在一个空白 Vue3 项目中使用 Element Plus

相关推荐
是梦终空1 天前
计算机毕业设计264—基于Springboot+Vue3+协同过滤的房屋租赁管理系统(源代码+数据库+万字论文+设计文档)
spring boot·毕业设计·vue3·课程设计·毕业论文·协同过滤·房屋租赁管理系统
Irene19913 天前
通用消息组件 bug 修复及更好的实现是使用函数调用组件
vue3·函数调用·通用消息组件
Irene19914 天前
Vuex4:专为 Vue 3 设计,提供完整 TypeScript 支持
vue3·vuex4
无法长大4 天前
如何判断项目需不需要用、能不能用Tailwind CSS
前端·css·vue.js·elementui·vue3·tailwind css
cui_win5 天前
企业级中后台开源解决方案汇总
开源·vue3·ts
Sapphire~6 天前
Vue3-19 hooks 前端数据和方法的封装
前端·vue3
記億揺晃着的那天6 天前
Vue3 动态路由在生产环境才出现白屏的排查与解决(keep-alive 踩坑实录)
vue3·vue router·动态路由·生产环境报错
kong790692810 天前
Vue3快速入门
前端·vue3
无法长大11 天前
Mac M1 环境下使用 Rust Tauri 将 Vue3 项目打包成 APK 完整指南
android·前端·macos·rust·vue3·tauri·打包apk
淡笑沐白12 天前
Vue3使用ElementPlus实现菜单的无限递归
javascript·vue3·elementplus