当前位置:   article > 正文

Element Plus 实例详解(一)___安装设置_element-plus

element-plus

 Element Plus 实例详解(一)

___安装设置

本篇目录:

一、前言

二、安装方法

1、环境支持

2、Element Plus安装使用方式

(1)、使用包管理器

(2)、浏览器直接引入

3、Element Plus引入方式使用小例子

三、Element Plus用法

1、完整引入

2、按需导入

(1)、自动导入

(2)、手动导入

3、全局配置

四、Element Plus 安装使用小实例

1、搭建Vue3项目(基于Vite + Vue)

 2、安装Element Plus

 3、完整导入方式引入Element Plus

4、在原Vue+vite欢迎页面增加 Element Plus按钮

五、总结


一、前言

   声明:不断有人冒我网名,自行转载我博客文章到其他地方,未免被其他的假鬼李鬼冒名造成不必要损失,现公布一下我个人的真实资料:我姓李,是奶奶级别的老。。。老姐姐,今年50岁了,女,广州。

  我只有一个博客:csdn:  逆境清醒的博客_CSDN博客-python,前端特效实例源码,python turtle绘图集锦领域博主https://blog.csdn.net/weixin_69553582其他以逆境清醒自居的都是冒名的。除了在csdn上公开交流外(csdn博客留言,csdn动态),其他任何地方我都不会和别人有任何私下联系,请留意分辨真伪(包括在csdn用我账号登录的)。

逆境清醒

2023年3月25日

我在阿里云也发布了一些文章,基本和csdn同步,名字依然用逆境清醒。

逆境清醒

2023年11月15日


  •   Element Plus是基于Vue 3,面向设计师和开发者的组件库。
  •   Element Plus 是为了适配 Vue 3 对 Element UI 进行的重构。
  •   使用 TypeScript 开发
  •   使用 Vue 3 Teleport 新特性重构挂载类组件
  •   使用 Vue 3 Composition API 简化逻辑,降低耦合
  •   选择了 Day.js 这种更轻便通用的时间日期选择器解决方案
  •   使用 Lerna 维护和管理项目
  •   升级适配 async-validator,popperjs 等核心依赖
  •   完善 52 种国际化语言支持

二、安装方法

1、环境支持

  Element Plus 可以在支持 ES2018 和 ResizeObserver 的浏览器上运行。 如果您确实需要支持旧版本的浏览器,请自行添加 Babel 和相应的 Polyfill 。

  由于 Vue 3 不再支持 IE11,Element Plus 也不再支持 IE 浏览器。

Edge ≥ 79

Firefox ≥ 78

Chrome ≥ 64

Safari ≥ 12

2、Element Plus安装使用方式

  • (1)、使用包管理器

  用包管理器(如 NPM、Yarn 或 pnpm)安装 Element Plus,方便使用打包工具,如 Vite 或 webpack。

选择一个你喜欢的包管理器

  •   NPM:npm install element-plus --save
  •   Yarn:yarn add element-plus
  •   pnpm:pnpm install element-plus

(2)、浏览器直接引入

  直接通过浏览器的 HTML 标签导入 Element Plus,然后就可以使用全局变量 ElementPlus 了。

  根据不同的 CDN 提供商有不同的引入方式

  • unpkg  

<head>
  <!-- Import style -->
  <link rel="stylesheet" href="//unpkg.com/element-plus/dist/index.css" />
  <!-- Import Vue 3 -->
  <script src="//unpkg.com/vue@3"></script>
  <!-- Import component library -->
  <script src="//unpkg.com/element-plus"></script>
</head>

  • jsDelivr

<head>
  <!-- Import style -->
  <link
    rel="stylesheet"
    href="//cdn.jsdelivr.net/npm/element-plus/dist/index.css"
  />
  <!-- Import Vue 3 -->
  <script src="//cdn.jsdelivr.net/npm/vue@3"></script>
  <!-- Import component library -->
  <script src="//cdn.jsdelivr.net/npm/element-plus"></script>
</head>

3、Element Plus引入方式使用小例子

  1. <html>
  2. <head>
  3. <meta charset="UTF-8" />
  4. <meta name="viewport" content="width=device-width,initial-scale=1.0" />
  5. <meta name="Element Plus使用方法实例详解逆境清醒" content="逆境清醒Element Plus使用方法实例详解专辑">
  6. <title>Element Plus 使用方法实例详解</title>
  7. <script src="https://unpkg.com/vue@next"></script>
  8. <!-- import CSS -->
  9. <link rel="stylesheet" href="https://unpkg.com/element-plus/dist/index.css">
  10. <!-- import JavaScript -->
  11. <script src="https://unpkg.com/element-plus"></script>
  12. <title>Element Plus demo</title>
  13. </head>
  14. <body>
  15. <div id="app">
  16. <el-button>{{ message }}</el-button><br />
  17. <el-button>{{ message1 }}</el-button>
  18. </div>
  19. <script>
  20. const App = {
  21. data() {
  22. return {
  23. message: "阳光总在风雨后",
  24. message1: "历练中完成自我升华",
  25. };
  26. },
  27. };
  28. const app = Vue.createApp(App);
  29. app.use(ElementPlus);
  30. app.mount("#app");
  31. </script>
  32. </body>
  33. </html>

三、Element Plus用法

1、完整引入

  完整导入方式,使用方便,但打包后的文件大小偏大。

  • 完整引入

// 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')


如果您使用 Volar,请在 tsconfig.json 中通过 compilerOptions.type 指定全局组件类型。

  • Volar 支持

// tsconfig.json
{
  "compilerOptions": {
    // ...
    "types": ["element-plus/global"]
  }
}

2、按需导入

(1)、自动导入

需要使用额外的插件来导入要使用的组件。

需要安装:unplugin-vue-components 和 unplugin-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()],
    }),
  ],
}
 


 

  • Nuxt

Nuxt 用户, 只需要安装 @element-plus/nuxt 即可.

npm install -D @element-plus/nuxt

然后将下面的代码写入你的配置文件.

// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['@element-plus/nuxt'],
})
 

(2)、手动导入

  Element Plus 提供了基于 ES Module 的开箱即用的 Tree Shaking 功能。

  但你需要安装 unplugin-element-plus 来导入样式。

  • // App.vue

<template>
  <el-button>我是 ElButton</el-button>
</template>
<script>
  import { ElButton } from 'element-plus'
  export default {
    components: { ElButton },
  }
</script>

  • // vite.config.ts

import { defineConfig } from 'vite'
import ElementPlus from 'unplugin-element-plus/vite'

export default defineConfig({
  // ...
  plugins: [ElementPlus()],
})

  • WARNING

  如果使用 unplugin-element-plus 并且只使用组件 API,你需要手动导入样式。

Example:

import 'element-plus/es/components/message/style/css'
import { ElMessage } from 'element-plus'

3、全局配置

  在引入 ElementPlus 时,可以传入一个包含 size 和 zIndex 属性的全局配置对象。 size 用于设置表单组件的默认尺寸,zIndex 用于设置弹出组件的层级,zIndex 的默认值为 2000。

  • 完整引入:

import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import App from './App.vue'

const app = createApp(App)
app.use(ElementPlus, { size: 'small', zIndex: 3000 })

  • 按需引入:

<template>
  <el-config-provider :size="size" :z-index="zIndex">
    <app />
  </el-config-provider>
</template>

<script>
import { defineComponent } from 'vue'
import { ElConfigProvider } from 'element-plus'

export default defineComponent({
  components: {
    ElConfigProvider,
  },
  setup() {
    return {
      zIndex: 3000,
      size: 'small',
    }
  },
})
</script>
 

使用命令:pnpm dev
将启动本地开发环境

将你的组件添加到 play/src/App.vue


App.vue

<template>
  <ComponentYouAreDeveloping />
</template>

<script setup lang="ts">
// 要保证当前组件已注册到 @element-plus/components
import { ComponentYouAreDeveloping } from '@element-plus/components'
</script>
根据需要修改 App.vue 文件让开发过程顺利进行

四、Element Plus 安装使用小实例

  我们来测试一下Element Plus的Button 按钮基础用法,如果没有错,应该能在页面显示下图按钮式样:

  具体操作如下:

1、搭建Vue3项目(基于Vite + Vue)

  安装时请选择支持Typescript,本实例我安装在(C:\00program\vue\vuelearn\vueviteproject1)目录中,具体方法详见下面文章:

vue3 项目搭建教程(基于create-vue,vite,Vite + Vue)icon-default.png?t=N7T8https://blog.csdn.net/weixin_69553582/article/details/129630880

 安装完成后打开浏览器:http://localhost:5173/  ,能正常显示以下页面:

 2、安装Element Plus

  • NPM:npm install element-plus --save

  安装完成后,会在:你的项目\node_modules目录下出现element-plus目录,内有element-plus各种相关文件,我的目录如下:

 3、完整导入方式引入Element Plus

  在你的项目安装中,打开src目录,我的目录是:C:\00program\vue\vuelearn\vueviteproject1\src,
找到【 main.ts 】文件,用编译器打开,增加 Element Plus 导入方式

  我的完整的main.ts文件如下:(注意,如果你的项目非新装的空项目,请注意备份,不要修改到原项目的设置)

  1. //src目录下的main.ts文件
  2. import { createApp } from 'vue'
  3. import './style.css'
  4. import App from './App.vue'
  5. import ElementPlus from 'element-plus'
  6. import 'element-plus/dist/index.css'
  7. const app = createApp(App)
  8. app.use(ElementPlus)
  9. app.mount('#app')

4、在原Vue+vite欢迎页面增加 Element Plus按钮

  在你的项目安装中,打开components目录,我的目录是:C:\00program\vue\vuelearn\vueviteproject1\src\components,
找到【 HelloWorld.vue 】文件,用编译器打开,在原欢迎页面的代码下面,增加 Element Plus的Button 按钮基础用法代码。

  我的完整代码如下:(注意,如果你的项目非新装的空项目,请注意备份,不要修改到原项目的设置)

  1. // src\components\HelloWorld.vue文件
  2. <script setup lang="ts">
  3. import { ref } from 'vue'
  4. defineProps<{ msg: string }>()
  5. const count = ref(0)
  6. import {
  7. Check,
  8. Delete,
  9. Edit,
  10. Message,
  11. Search,
  12. Star,
  13. } from '@element-plus/icons-vue'
  14. </script>
  15. <template>
  16. <h1>{{ msg }}</h1>
  17. <div class="card">
  18. <button type="button" @click="count++">count is {{ count }}</button>
  19. <p>
  20. Edit
  21. <code>components/HelloWorld.vue</code> to test HMR
  22. </p>
  23. </div>
  24. <p>
  25. Check out
  26. <a href="https://vuejs.org/guide/quick-start.html#local" target="_blank">create-vue</a>, the official Vue + Vite starter
  27. </p>
  28. <p>
  29. Install
  30. <a href="https://github.com/vuejs/language-tools" target="_blank">Volar</a>
  31. in your IDE for a better DX
  32. </p>
  33. <p class="read-the-docs">Click on the Vite and Vue logos to learn more</p>
  34. <el-row class="mb-4">
  35. <el-button>Default默认</el-button>
  36. <el-button type="primary">主要</el-button>
  37. <el-button type="success">成功</el-button>
  38. <el-button type="info">信息</el-button>
  39. <el-button type="warning">警告</el-button>
  40. <el-button type="danger">危险</el-button>
  41. </el-row>
  42. <br />
  43. <el-row class="mb-4">
  44. <el-button plain>Plain普通 </el-button>
  45. <el-button type="primary" plain>主要</el-button>
  46. <el-button type="success" plain>成功</el-button>
  47. <el-button type="info" plain>信息</el-button>
  48. <el-button type="warning" plain>警告</el-button>
  49. <el-button type="danger" plain>危险</el-button>
  50. </el-row>
  51. <br />
  52. <el-row class="mb-4">
  53. <el-button round>Round圆</el-button>
  54. <el-button type="primary" round>主要</el-button>
  55. <el-button type="success" round>成功</el-button>
  56. <el-button type="info" round>信息</el-button>
  57. <el-button type="warning" round>警告</el-button>
  58. <el-button type="danger" round>危险</el-button>
  59. </el-row>
  60. <br />
  61. <el-row>
  62. <el-button :icon="Search" circle />
  63. <el-button type="primary" :icon="Edit" circle />
  64. <el-button type="success" :icon="Check" circle />
  65. <el-button type="info" :icon="Message" circle />
  66. <el-button type="warning" :icon="Star" circle />
  67. <el-button type="danger" :icon="Delete" circle />
  68. </el-row>
  69. </template>
  70. <style scoped>
  71. .read-the-docs {
  72. color: #888;
  73. }
  74. </style>

5、验证Element Plus按钮

 同时按window+R键,输入cmd,打开命令提示符窗口

 因为前面安装Vue项目时已经编译正常运行过,所以现在只需输入:

  • npm run dev
  1. > vueviteproject1@0.0.0 dev
  2. > vite
  3. VITE v4.2.0 ready in 239 ms
  4. ➜ Local: http://localhost:5173/
  5. ➜ Network: use --host to expose
  6. ➜ press h to show help

我们在浏览器打开本地地址:http://localhost:5173/

如果你没有操作错误,应该会出现和我一样的页面:

 我们成功在原Vue+vite项目欢迎页面上,增加了 Element Plus按钮

五、总结

  我们成功在Vue3+vite项目上安装运行了Element Plus,这是Element Plus学习的第一步,Element Plus还有很多功能组件需要熟悉,我后续会继续更新相关学习资料。

Element Plus 组件
Basic 基础组件Button 按钮
Border 边框
Color 色彩
Container 布局容器
Icon 图标
Layout 布局
Link 链接
Text 文本
Scrollbar 滚动条
Space 间距
Typography 排版
配置组件Config Provider 全局配置
Form 表单组件Autocomplete 自动补全输入框
Cascader 级联选择器
Checkbox 多选框
Color Picker 取色器
Date Picker 日期选择器
DateTime Picker 日期时间选择器
Form 表单
Input 输入框
Input Number 数字输入框
Radio 单选框
Rate 评分
Select 选择器
Virtualized Select 虚拟化选择器
Slider 滑块
Switch 开关
Time Picker 时间选择器
Time Select 时间选择
Transfer 穿梭框
Upload 上传
Data 数据展示Avatar 头像
Badge 徽章
Calendar 日历
Card 卡片
Carousel 走马灯
Collapse 折叠面板
Descriptions 描述列表
Empty 空状态
Image 图片
Infinite Scroll 无限滚动
Pagination 分页
Progress 进度条
Result 结果
Skeleton 骨架屏
Table 表格
Virtualized Table 虚拟化表格
Tag 标签
Timeline 时间线
Tree 树形控件
TreeSelect 树形选择
Virtualized Tree 虚拟化树形控件
Statistic 统计组件
Navigation 导航Affix 固钉
Backtop 回到顶部
Breadcrumb 面包屑
Dropdown 下拉菜单
Menu 菜单
Page Header 页头
Steps 步骤条
Tabs 标签页
Feedback 反馈组件Alert 提示
Dialog 对话框
Drawer 抽屉
Loading 加载
Message 消息提示
Message Box 消息弹出框
Notification 通知
Popconfirm 气泡确认框
Popover 弹出框
Tooltip 文字提示
Others 其他Divider 分割线

         推荐阅读:

31Element Plus 实例详解(一)___安装设置
30

​​​​​

Vue3安装配置、开发环境搭建(组件安装卸载)(图文详细)
29

SVG实例详解系列(一)(svg概述、位图和矢量图区别(图解)、SVG应用实例)

28

查看jdk安装路径,在windows上实现多个java jdk的共存解决办法,安装java19后终端乱码的解决

27bba02a1c4617422c9fbccbf5325850d9.png

别具一格,原创唯美浪漫情人节表白专辑,(复制就可用)(html5,css3,svg)表白爱心代码(1)

26fea225cb9ec14b60b2d1b797dd8278a2.png

2023年春节祝福第二弹——送你一只守护兔,让它温暖每一个你【html5 css3】画会动的小兔子,炫酷充电,字体特

251f53fb9c6e8b4482813326affe6a82ff.png

2023春节祝福系列第一弹(上)(放飞祈福孔明灯,祝福大家身体健康)(附完整源代码及资源免费下载)

246176c4061c72430eb100750af6fc4d0e.png

HTML+CSS+svg绘制精美彩色闪灯圣诞树,HTML+CSS+Js实时新年时间倒数倒计时(附源代码)

2317b403c4307c4141b8544d02f95ea06c.png

​草莓熊python绘图(春节版,圣诞倒数雪花版)附源代码

225d409c8f397a45c986ca2af7b7e725c9.png

【程序人生】卡塔尔世界杯元素python海龟绘图(附源代码),世界杯主题前端特效5个(附源码)

210a4256d5e96d4624bdca36433237080b.png

python爱心源代码集锦(18款)

204d9032c9cdf54f5f9193e45e4532898c.png

巴斯光年python turtle绘图__附源代码

19074cd3c255224c5aa21ff18fdc25053c.png

Three.js实例详解___旋转的精灵女孩(附完整代码和资源)(一)

18daecd7067e7c45abb875fc7a1a469f23.png

​草莓熊python turtle绘图代码(玫瑰花版)附源代码

17fe88b78e78694570bf2d850ce83b1f69.png

立体多层玫瑰绘图源码__玫瑰花python 绘图源码集锦

16c5feeb25880d49c085b808bf4e041c86.png

皮卡丘python turtle海龟绘图(电力球版)附源代码

1538266b5036414624875447abd5311e4d.png

【CSDN云IDE】个人使用体验和建议(含超详细操作教程)(python、webGL方向)

1403ed644f9b1d411ba41c59e0a5bdcc61.png​​​​​​​​

草莓熊python turtle绘图(风车版)附源代码

1309e08f86f127431cbfdfe395aa2f8bc9.png​​​​​​​​

用代码过中秋,python海龟月饼你要不要尝一口?

1240e8b4631e2b486bab2a4ebb5bc9f410.png​​​​​​​​

《 Python List 列表全实例详解系列(一)》__系列总目录、列表概念

11938bc5a8bb454a41bfe0d4185da845dc.jpeg​​​​​​​​

用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心)

100f09e73712d149ff90f0048a096596c6.png​​​​​​​​

Python函数方法实例详解全集(更新中...)

993d65dbd09604c4a8ed2c01df0eebc38.png​​​​​​​​

matplotlib 自带绘图样式效果展示速查(28种,全)

8aa17177aec9b4e5eb19b5d9675302de8.png​​​​​​​​

手机屏幕坏了____怎么把里面的资料导出(18种方法)

71750390dd9da4b39938a23ab447c6fb6.jpeg​​​​​​​​

2023年3月TIOBE 指数头条:编程语言 Go 进入 TIOBE 指数前 10 名,多家权威机构____编程语言排行榜__薪酬状

6dc8796ddccbf4aec98ac5d3e09001348.jpeg​​​​​​​​

Python中Print()函数的用法___实例详解(全,例多)

51ab685d264ed4ae5b510dc7fbd0d1e55.jpeg​​​​​​​​

色彩颜色对照表(一)(16进制、RGB、CMYK、HSV、中英文名)

480007dbf51944725bf9cf4cfc75c5a13.png​​​​​​​​

Node.js (v19.1.0npm 8.19.3) vue.js安装配置教程(超详细)

3c6374d75c29942f2aa577ce9c5c2e12b.png​​​​​​​​

Tomcat 启动闪退问题解决集(八大类详细)

25218ac5338014f389c21bdf1bfa1c599.png​​​​​​​​

Tomcat端口配置(详细)

1fffa2098008b4dc68c00a172f67c538d.png​​​​​​​​

tomcat11、tomcat10 安装配置(Windows环境)(详细图文)

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

闽ICP备14008679号