当前位置: 首页 > ops >正文

vue3中使用Element-Plus的几种方式

本文目录

  • 1、Element-Plus
    • 1.1 概述
    • 1.2 主要特点
  • 2、安装及使用
    • 2.1 安装Element-Plus
    • 2.2 使用
      • 1、完整引入
      • 2、按需导入(推荐)
      • 3、手动导入
      • 测试效果
    • 2.3 icons-vue的使用

前言

1、Element-Plus

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

1.1 概述

Element-PlusElement UI的基础上进行了升级和优化,提供了更加丰富和强大的组件库。它基于Vue 3.0构建,并使用了TypeScript进行编写,为开发者提供了类型提示和代码补全等增强功能。Element-Plus的组件设计简洁明了,易于使用,同时提供了丰富的API和插槽,方便开发者进行定制和扩展。

1.2 主要特点

  • 丰富的组件库:Element-Plus提供了多种常用的布局组件和UI组件,如容器、栅格布局、卡片、面板、表格、表单、按钮、导航、通知等。这些组件可以帮助开发者快速构建出结构清晰、易于维护的页面布局。
  • 高度的可定制性:Element-Plus允许开发者通过修改样式、属性、事件等方式对组件进行定制。此外,它还提供了主题定制功能,可以根据需要更换组件的样式。
  • 良好的性能表现:Element-Plus通过优化组件代码和压缩图片等方式,提高了Web应用的加载速度和运行效率。
    详细的文档和教程:Element-Plus提供了详细的文档和教程,帮助开发者更好地掌握和使用该组件库。

2、安装及使用

2.1 安装Element-Plus

我们在NVM配置与Vue3+Vite项目快速搭建指南的基础上进行安装。
在终端输入命令npm i element-plus
在这里插入图片描述

2.2 使用

1、完整引入

如果你对打包后的文件大小不是很在乎,那么使用完整导入会更方便。
main.js中写入引入代码:

import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'const app = createApp(App)app.use(ElementPlus)
app.mount('#app')

2、按需导入(推荐)

您需要使用额外的插件来导入要使用的组件。
自动导入首先你需要安装unplugin-vue-componentsunplugin-auto-import这两款插件
npm install -D unplugin-vue-components unplugin-auto-import
然后把下列代码插入到你的 ViteWebpack 的配置文件中
Vite

// vite.config.ts
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()],}),],
})

Webpack

// webpack.config.js
const AutoImport = require('unplugin-auto-import/webpack')
const Components = require('unplugin-vue-components/webpack')
const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')module.exports = {// ...plugins: [AutoImport({resolvers: [ElementPlusResolver()],}),Components({resolvers: [ElementPlusResolver()],}),],
}

3、手动导入

Element Plus 提供了基于 ES Module 开箱即用的 Tree Shaking 功能。
但是你需要安装 unplugin-element-plus 来导入样式。

App.vue

// App.vue
<template><el-button>I am ElButton</el-button>
</template>
<script>import { ElButton } from 'element-plus'export default {components: { ElButton },}
</script>

vite.config.ts

// vite.config.ts
import { defineConfig } from 'vite'
import ElementPlus from 'unplugin-element-plus/vite'export default defineConfig({// ...plugins: [ElementPlus()],
})

我们在这三种使用方法中使用按需引入,让我们来测试下。

测试效果

App.vue中写入代码<el-button color="#626aef" :dark="isDark">Default</el-button>
可以看到效果如下:
在这里插入图片描述
可以看到我们将element-plus按组件给现实出来了。

2.3 icons-vue的使用

注册所有图标
main.js中写入如下代码:

import { createApp } from 'vue'
import App from './App.vue'
import '@/assets/less/index.less'
import router from './router'
import * as ElementPlusIconsVue from '@element-plus/icons-vue'const app = createApp(App)
app.use(router).mount('#app')
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {app.component(key, component)
}

测试在Main.vue中,写入代码:<el-icon color="#409EFC" class="no-inherit">,可以看到效果如下:
在这里插入图片描述


http://www.xdnf.cn/news/7591.html

相关文章:

  • 汉得集星獭1.8.0正式发布,高效集成再赋能!
  • 《算法笔记》11.4小节——动态规划专题->最长公共子序列(LCS) 问题 A: 最长公共子序列
  • 动态规划-LCR 090.打家劫舍II-力扣(LeetCode)
  • 文档债务拖累交付速度?5大优化策略文档自动化
  • 电子电器架构 --- 汽车高性能计算
  • 【踩坑】WUDFHost占用内存高的可能原因
  • 工作流引擎-01-Activiti 是领先的轻量级、以 Java 为中心的开源 BPMN 引擎,支持现实世界的流程自动化需求
  • 深入解析 OpenManus:开源 AI 智能体框架的技术原理与实践
  • 分钟级降水预报API:精准预测每一滴雨的智慧科技
  • 【物联网】基于树莓派的物联网开发【5】——国内软件镜像源更改配置
  • 使用布隆过滤器实现java大数据筛选是否存在
  • 如何解决虚拟机中U盘无法识别的问题
  • 抖音视频如何下载保存?高清无水印一键保存到手机!
  • 基于Gitee 的开发分支版本管理规范
  • 视频监控联网系统GB28181协议中互联结构详解
  • AI大模型应用微调服务商分享:微调技术Lora和SFT的异同
  • 8 定时任务与周期性调度
  • 小红书“开门”,摸到电商金钥匙?
  • Linux(3)——基础开发工具
  • langchain 实现 任务分解器
  • 深度学习中的正则化方法与卷积神经网络基础
  • leetcode hot100:三、解题思路大全:哈希(两数之和、字母异位词分组、最长连续序列)、双指针(移动零、盛最多水的容器、三数之和、接雨水)
  • beanstalk一直被重新保留(reserved 状态)消息删除
  • BACnet协议详解:架构、应用、挑战与未来发展
  • WIFI信号状态信息 CSI 深度学习之数据集
  • 基于自然语言转SQL的BI准确率如何?
  • C语言指针深入详解(四):指针变量、二维数组传参的本质、函数指针数组、转移表
  • FastDatasets新功能,让模型学会“思考”!
  • 双指针法高效解决「移除元素」问题
  • python学习打卡day31