网站首页 > 技术文章 正文
在 Vue 3 中引入 Element UI 需要使用 Element Plus,因为 Element UI 是为 Vue 2 设计的,而 Element Plus 是专为 Vue 3 设计的版本。以下是详细步骤:
安装 Element Plus
1. 创建 Vue 3 项目(如果还没有)
如果你还没有创建 Vue 3 项目,可以使用 Vue CLI 或 Vite 来创建一个:
# 使用 Vue CLI
npm install -g @vue/cli
vue create my-project
# 或使用 Vite
npm create vite@latest my-project --template vue
2. 安装 Element Plus
进入你的项目目录,然后安装 Element Plus:
npm install element-plus
或者使用 yarn:
yarn add element-plus
引入 Element Plus
方式一:完整引入(推荐新手使用)
在 main.js 或 main.ts 中完整引入 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')
方式二:按需引入(推荐生产环境使用)
为了减少打包体积,可以使用按需引入。首先安装 unplugin-vue-components 和 unplugin-auto-import:
npm install -D unplugin-vue-components unplugin-auto-import
然后在 vite.config.js 或 vue.config.js 中配置:
// vite.config.js
import { defineConfig } from 'vite'
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: [
// ...
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
})
对于 Vue CLI 项目,修改 vue.config.js:
// vue.config.js
const { defineConfig } = require('@vue/cli-service')
const AutoImport = require('unplugin-auto-import/webpack')
const Components = require('unplugin-vue-components/webpack')
const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')
module.exports = defineConfig({
configureWebpack: {
plugins: [
AutoImport({
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
}
})
使用 Element Plus 组件
现在你可以在 Vue 组件中使用 Element Plus 的组件了。例如:
<template>
<div>
<el-button type="primary">主要按钮</el-button>
<el-date-picker v-model="date" type="date" placeholder="选择日期" />
</div>
</template>
<script>
import { ref } from 'vue'
export default {
setup() {
const date = ref('')
return {
date
}
}
}
</script>
国际化(可选)
如果需要使用中文语言包:
import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
import 'element-plus/dist/index.css'
import App from './App.vue'
const app = createApp(App)
app.use(ElementPlus, {
locale: zhCn,
})
app.mount('#app')
主题定制(可选)
Element Plus 支持主题定制。你可以通过以下方式自定义主题:
- 安装 sass:
npm install sass -D
- 创建一个 SCSS 文件(如 element-variables.scss)来覆盖变量:
/* element-variables.scss */
@forward "element-plus/theme-chalk/src/common/var.scss" with (
$colors: (
'primary': (
'base': #409eff,
),
),
);
- 在 vite.config.js 或 vue.config.js 中配置:
// vite.config.js
export default defineConfig({
css: {
preprocessorOptions: {
scss: {
additionalData: `@use "@/styles/element-variables.scss" as *;`,
},
},
},
})
总结
- 安装:使用 npm install element-plus 安装 Element Plus
- 引入:可以选择完整引入或按需引入
- 使用:直接在组件中使用 Element Plus 组件
- 高级功能:支持国际化、主题定制等
通过以上步骤,你就可以在 Vue 3 项目中成功集成并使用 Element Plus 了。
- 上一篇: Excel表格如何添加自带的日期插件?
- 下一篇: 通用日期选择器的设置方法
猜你喜欢
- 2025-05-25 又解锁一款笔记工具:Logseq
- 2025-05-25 VBA财务工具控件配置技巧
- 2025-05-25 玫瑰金iPhone 7 Plus谍照 其实也很漂亮
- 2025-05-25 每周更新:Element、Vant新版更新、IntelliJ2019.1 发布 RC版
- 2025-05-25 如何使用C#读取经典WinCC归档数据
- 2025-05-25 【推荐】一个基于 SpringBoot 框架开发的 OA 办公自动化系统
- 2025-05-25 《进击吧!Blazor!》第一章 5.组件开发
- 2025-05-25 微信小程序云开发教室预约系统的数据库设计
- 2025-05-25 Android主流UI开源库整理
- 2025-05-25 组态王无法插入时间控件
- 最近发表
-
- 使用这个新的 ECMAScript 运算符告别 Try/Catch!
- 抛弃 try-catch,错误处理的新方案
- 深圳尚学堂Java培训:总结java编程常用的快捷键(二)
- Try-catch speeding up my code?(speeding up)
- 能代替try catch处理异常的优雅方式
- Linux系统stress压力测试工具(linux自带的压力测试)
- ESL-通过事件控制FreeSWITCH(es事务控制)
- 谈JVM xmx, xms等内存相关参数合理性设置
- 嵌入式工程师竟然看不懂这些专业语句,那真别怪人说你菜
- 不会前端也能写官网?没问题,Devbox+Cursor 带你起飞
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)