Vue3项目中引入ElementUI使用详解_vue3 element-ui-程序员宅基地

技术标签: elementui  前端  vue.js  实战应用  

Vue3项目中引入 ElementUI

ElementUI是一个强大的PC端UI组件框架,它不依赖于vue,但是却是当前和vue配合做项目开发的一个比较好的ui框架,其包含了布局(layout),容器(container)等各类组件,基本上能满足日常网站的搭建开发。针对vue2和vue3都有对应的组件版本,本文主要介绍在vue3中如何引入使用ElementUI(vue3中升级为Element Plus)。

1.安装

vue3中使用如下命令通过 npm 安装 (本人项目使用的安装方式)

$ npm install element-plus --save

也可以使用其他的包管理起进行安装:

# Yarn
$ yarn add element-plus

# pnpm
$ pnpm install element-plus

2.引入

element-plus分为全局引入和按需引入两种方式,一般在工程项目中,由于全局引入会导致不必要的资源加载,为提升项目性能,建议进行按需引入。以下我们对两种引入方式进行介绍。

2.1 全局引入

全局引入就是在项目入口(main.ts)文件直接引入组件以及组件全部的样式文件;代码如下所示:

// main.ts
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')
2.2 按需引入

在vue3中按需引入ElementUI,需要使用其他的插件辅助,需要安装unplugin-vue-componentsunplugin-auto-import这两款插件;安装方法如下:

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

然后再vite或者webpack配置中添加相应的配置,如下所示:

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()],
    }),
  ],
}

若篇日志再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()],
        }),
      ],
  }
})

3.使用

引入完毕之后,我们可进行按需引入需要使用的组件,使用方法如下,引入input组件和button组件

<template>
  <div>
    <el-input class="input" v-model="input" type="file" placeholder="Please input" />
    <el-button class="button" type="primary">文件处理</el-button>
  </div>
</template>

<script>
  import {
     ElButton, ElInput } from 'element-plus'
  import {
     ref } from 'vue'
  
  export default {
    
    components: {
     ElButton,ElInput },
  }

</script>
<style scoped>
.input {
    
  display: inline;
  margin: 20px 30px;
}
.button {
    
  width: 90px;
}
</style>

效果如下:

在这里插入图片描述

此外ElementUI中还有其他组件,基本能满足开发需求,提升开发效率,详情请见官网:ElementUI

注:在vue3中,由于vite打包拥有良好的性能,本文使用的示例为vite打包方式,同时建议使用其他包最新的支持版本进行开发。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_46309087/article/details/131277139

智能推荐

独热编码python实现_标签编码、独热编码大不同 - Python 实现-程序员宅基地

文章浏览阅读550次。对于新手在做资料的特征工程时,会看到 Label Encoding 或 One Hot Encoding 两种对于类别行资料的编码方式,那他们之间究竟有什么不同呢?直接讲结论:原始资料是有序离散值的话 => Label Encoding原始资料是无序离散值的话 => One Hot Encoding (Dummies)以下分为两点说明:为什么要将离散转数值?因为大部分的模型都是基于数学..._python 对只对某几个标签独热编码

Android开发:标准身高计算器应用的… 分类: Android开发...-程序员宅基地

文章浏览阅读274次。主程序:package com.leansmall.heightcalculator;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import android.util.L..._安卓开发中开发身高计算器的知识点

【React】1040- 六个问题让你更懂 React Fiber-程序员宅基地

文章浏览阅读569次。大家好,我是零一,很多人都摸不透React,看不懂源码,甚至不想看源码(确实很难看懂啊!),"霸王硬上弓" 肯定是不行呀,不如从React的整体架构或者说从最核心的Fibe..._react无法进行静态节点分析

linux Argument list too long错误解决方法_etcdctl: argument list too long-程序员宅基地

文章浏览阅读4w次,点赞3次,收藏5次。linux Argument list too long错误解决方法今日需要删除/tmp目录下的所有文件,文件数量比较多。ls -lt /tmp | wc -l385412使用 rm * 后,系统提示错误 Argument list too long原因是在linux下,试图传太多参数给一个系统命令(ls *; cp *; rm *; cat *; etc.._etcdctl: argument list too long

sudo apt-get install python3.5-dev安装不了的一些解决方法_apt安装python-dev和tinker后仍然提示安装-程序员宅基地

文章浏览阅读4.1k次。需要编译个工程老是报找不到Python.h,后面查找需要用到python3.5-dev包,但是尝试用sudo apt-get install python3.5-dev老是出现无法下载一些库的问题,对于这种问题,一般有下面几种解决方法:1、采用https://www.cnblogs.com/wileywote0633/p/9096274.html的做法2、直接去一台同系统同版..._apt安装python-dev和tinker后仍然提示安装

继承中使用构造函数_tp已继承怎么使用构造函数-程序员宅基地

文章浏览阅读187次。<?phpclass BaseClass { function __construct() { print "我是构造函数\n"; }}class AClass extends BaseClass { function __construct() { print "我是 AClass 下的构造函数\n"; }}c..._tp已继承怎么使用构造函数

随便推点

Java怎么配置环境变量?_java环境变量设置-程序员宅基地

文章浏览阅读2k次。作为一个开发者在自己的系统上面安装Java开发环境设置环境变量是必须会的一项技能。今天小千就来教大家如何去配置环境变量。配置步骤1.首先先要安装好Java环境,这个步骤比较简单,下一步即可,注意要记住我们的安装路径后面需要用到。之后我们在桌面此电脑图标上面点击右键,选择属性。在打开的页面中我们点击左侧的高级系统设置,之后就能够看到环境变量的按钮了。2.点击进去之后可以看到有两个变量设置,我们选择系统变量下面的新建选项,新建一个变量3.之后我们需要用到刚刚安装Java的路径了,在里面我们输入变量名_java环境变量设置

Navicat for MySQL 命令列 执行SQL语句 历史日志_sqlyog的历史记录在navicat中有吗-程序员宅基地

文章浏览阅读7.3k次。工具 下有命令列界面 或者在数据库上鼠标右键也有。_sqlyog的历史记录在navicat中有吗

时间序列预测——时序卷积网络(TCN)_tcn用于时间序列分类教程-程序员宅基地

文章浏览阅读3w次,点赞60次,收藏513次。  本文展示了使用时序卷积网络(TCN)进行时间序列预测的全过程,包含详细的注释。整个过程主要包括:数据导入、数据清洗、结构转化、建立TCN模型、训练模型(包括动态调整学习率和earlystopping的设置)、预测、结果展示、误差评估等完整的时间序列预测流程。  本文使用的tcn库在本人上传的资源中,链接为tcn.py  本文使用的数据集在本人上传的资源中,链接为mock_kaggle.csvimport pandas as pdimport numpy as npimport mathfro_tcn用于时间序列分类教程

ABP Vnext 4.4:统一Ef Core的DbContext/移除EF Core Migrations项目-程序员宅基地

文章浏览阅读507次。Abp vnext 4.4出现了一个比较重大的变更:在Startup template中移除了EF Core Migrations项目,本文翻译自community.abp.io/arti..._entityframeworkcore.dbmigrations

蓝桥杯专题-真题版含答案-【三角螺旋阵】【干支记年法】【异或加密法】【金字塔】_蓝桥杯 异或三角-程序员宅基地

文章浏览阅读155次,点赞4次,收藏5次。有真题,有答案,认认真真阅读,轻轻松松通过。蓝桥在等你。有什么需要欢迎文章底部卡片私我,获取更多支持,交流让学习不再孤单_蓝桥杯 异或三角

跳跃游戏_左神-跳跃游戏-程序员宅基地

文章浏览阅读171次。程序员代码面试指南——跳跃游戏自己的动态规划做法dp[i]表示从i位置跳到最后一个位置需要的最少跳数;base : dp[n-1] = 0, dp[n-2] = 1;递归:dp[i] = min(dp[i+1], ... , dp[i+arr[i]]);import java.util.*;public class Main{ int cnt = 0; public static void main(String[] args) { Scanne_左神-跳跃游戏