当前位置:   article > 正文

vue3集成Element Plus_vue3 elementplus

vue3 elementplus

当前文章基于vue3集成Pinia_小白喝雪碧的博客-CSDN博客

Element Plus 目前还处于快速开发迭代中,当前使用版本为2.3.5。

参考官网:安装 | Element Plus

 1、安装依赖

npm install element-plus --save

2、引入项目(自动导入式)

在使用时可以完整引入、按需导入、手动导入,这里使用的是按需导入

2.1安装插件

首先需要安装unplugin-vue-components 和 unplugin-auto-import这两款插件:

npm install -D unplugin-vue-components unplugin-auto-import

 2.2修改vite文件

将下面的代码加入vite.config.js:

  1. // ...
  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 defineConfig({
  6. // ...
  7. plugins: [
  8. // ...
  9. AutoImport({
  10. resolvers: [ElementPlusResolver()],
  11. }),
  12. Components({
  13. resolvers: [ElementPlusResolver()],
  14. }),
  15. ],
  16. // ...
  17. })

最终文件为:

  1. import { fileURLToPath, URL } from 'node:url'
  2. import { defineConfig } from 'vite'
  3. import vue from '@vitejs/plugin-vue'
  4. import AutoImport from 'unplugin-auto-import/vite'
  5. import Components from 'unplugin-vue-components/vite'
  6. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  7. // https://vitejs.dev/config/
  8. export default defineConfig({
  9. base: "./",
  10. plugins: [
  11. vue(),
  12. AutoImport({
  13. resolvers: [ElementPlusResolver()],
  14. }),
  15. Components({
  16. resolvers: [ElementPlusResolver()],
  17. }),
  18. ],
  19. resolve: {
  20. alias: {
  21. '@': fileURLToPath(new URL('./src', import.meta.url))
  22. }
  23. }
  24. })

2.3element plus组件使用

到这里,项目中就可以直接使用组件了。在App.vue中添加一个测试按钮:

  1. // ...
  2. <template>
  3. // ...
  4. <el-button>测试按钮</el-button>
  5. // ...
  6. </template>
  7. // ...

项目启动,自动引入样式:

打开项目界面:

 3、通过ConfigProvider全局配置国际化

组件默认使用的语言是英文,在使用时要配置为中文。

3.1在App.vue中添加空状态Empty组件:

  1. // ...
  2. <template>
  3. // ...
  4. <el-empty></el-empty>
  5. </template>
  6. // ...

自动引入样式:

 项目界面组件展示为英文:

 3.2在App.vue中添加ConfigProvider组件,并配置为中文

  1. <script setup>
  2. import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
  3. let locale = zhCn
  4. </script>
  5. <template>
  6. <el-config-provider :locale="locale">
  7. // ...
  8. </el-config-provider>
  9. </template>
  10. // ...

此时再看界面,已经变成中文:

3.3App.vue文件修改完后代码

  1. <script setup>
  2. import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
  3. let locale = zhCn
  4. </script>
  5. <template>
  6. <el-config-provider :locale="locale">
  7. <p>
  8. <!--使用 router-link 组件进行导航 -->
  9. <!--通过传递 `to` 来指定链接 -->
  10. <!--`<router-link>` 将呈现一个带有正确 `href` 属性的 `<a>` 标签-->
  11. <router-link to="/">page1</router-link>
  12. &nbsp;&nbsp;&nbsp;&nbsp;
  13. <router-link to="/page2">page2</router-link>
  14. </p>
  15. <el-button>测试按钮</el-button>
  16. <div>
  17. <!-- 路由出口 -->
  18. <!-- 路由匹配到的组件将渲染在这里 -->
  19. <router-view></router-view>
  20. </div>
  21. <el-empty></el-empty>
  22. </el-config-provider>
  23. </template>
  24. <style scoped>
  25. p {
  26. text-align: center;
  27. }
  28. </style>

4、引入Icon图标(自动导入式)

参考官网Icon 图标 | Element Plus

4.1安装依赖

npm install @element-plus/icons-vue

 4.2自动导入插件

使用 unplugin-icons 和 unplugin-auto-import 从 iconify 中自动导入任何图标集。

npm install unplugin-icons unplugin-auto-import

 

 4.3自动导入配置

配置参考此模板

修改后的vite.config.js:

原来的第一行代码删除

import { fileURLToPath, URL } from 'node:url'

  1. import path from 'path'
  2. //...
  3. import Icons from 'unplugin-icons/vite'
  4. import IconsResolver from 'unplugin-icons/resolver'
  5. const pathSrc = path.resolve(__dirname, 'src')
  6. // https://vitejs.dev/config/
  7. export default defineConfig({
  8. //...
  9. plugins: [
  10. //...
  11. AutoImport({
  12. // Auto import functions from Element Plus, e.g. ElMessage, ElMessageBox... (with style)
  13. // 自动导入 Element Plus 相关函数,如:ElMessage, ElMessageBox... (带样式)
  14. resolvers: [
  15. ElementPlusResolver(),
  16. // Auto import icon components
  17. // 自动导入图标组件
  18. IconsResolver({
  19. prefix: 'Icon',
  20. }),
  21. ],
  22. dts: path.resolve(pathSrc, 'auto-imports.d.ts')
  23. }),
  24. Components({
  25. resolvers: [
  26. // Auto register icon components
  27. // 自动注册图标组件
  28. IconsResolver({
  29. enabledCollections: ['ep'],
  30. }),
  31. // Auto register Element Plus components
  32. // 自动导入 Element Plus 组件
  33. ElementPlusResolver()
  34. ],
  35. dts: path.resolve(pathSrc, 'components.d.ts'),
  36. }),
  37. Icons({
  38. autoInstall: true,
  39. }),
  40. ],
  41. resolve: {
  42. alias: {
  43. '@': pathSrc
  44. }
  45. }
  46. })

4.4使用方式

默认名称格式:"i-ep-图标名",图标名可查Element Plus官网得到。

  1. //方式一
  2. <el-icon>
  3. <i-ep-circle-check-filled />
  4. </el-icon>
  5. //方式二
  6. <i-ep-edit />

App.vue添加样例:

  1. //...
  2. <template>
  3. //...
  4. <el-button><el-icon><i-ep-circle-check-filled /></el-icon> <i-ep-edit />测试按钮</el-button>
  5. //...
  6. </template>
  7. //...

首次使用时会自动下载图标库@iconify-json/ep

 4.5界面显示

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/225760
推荐阅读
相关标签
  

闽ICP备14008679号