程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • 快速入手

    • Element-UI 快速上手
      • 1. Element-UI 安装和引入
        • 1.1 安装 Element-UI
        • 1.1.1 通过 npm 安装
        • 1.1.2 通过 yarn 安装
        • 1.2 引入 Element-UI
        • 1.2.1 全局引入
        • 1.2.2 按需引入
      • 2. 全局挂载在 Vue 原型上的 API
        • 2.1 this.$message 全局消息提示
        • 2.2 this.$notify 通知
        • 2.3 this.$confirm 确认框
        • 2.4 this.$loading 全局加载
        • 2.5 this.$alert 警告框
  • 基础组件

  • 表单组件

  • 数据展示组件

  • 反馈组件

  • 导航组件

  • 其他组件

  • Element-UI
  • 快速入手
scholar
2024-08-12
目录

Element-UI 快速上手

# Element-UI 快速上手

前言

Element-UI 是一个基于 Vue 2.0 的桌面端组件库,提供了丰富的 UI 组件和完善的 API 接口,方便开发者快速构建高质量的 Web 应用程序。本节将详细介绍 Element-UI 的安装与引入,以及引入后全局挂载在 Vue 原型上的方法和调用的 API。

# 1. Element-UI 安装和引入

# 1.1 安装 Element-UI

在开始使用 Element-UI 之前,需要将其安装到你的项目中。你可以通过 npm 或 yarn 进行安装。

# 1.1.1 通过 npm 安装

npm install element-ui --save
1

# 1.1.2 通过 yarn 安装

yarn add element-ui
1

# 1.2 引入 Element-UI

在安装 Element-UI 之后,你需要在项目中引入它。Element-UI 提供了两种引入方式:全局引入和按需引入。

# 1.2.1 全局引入

全局引入方式会将 Element-UI 的所有组件和样式都引入到项目中,适用于不考虑打包体积的项目。

import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(ElementUI);
1
2
3
4
5

引入后,所有的 Element 组件都可以在模板中直接使用,无需单独引入。

# 1.2.2 按需引入

按需引入可以有效减少打包体积,只引入需要的组件和对应的样式文件。首先,您需要安装 babel-plugin-component 插件:

npm install babel-plugin-component --save-dev
1

然后,配置 .babelrc 文件:

{
  "plugins": [
    [
      "component",
      {
        "libraryName": "element-ui",
        "styleLibraryName": "theme-chalk"
      }
    ]
  ]
}
1
2
3
4
5
6
7
8
9
10
11

接下来,在您的项目中按需引入所需的组件和样式:

import Vue from 'vue';
import { Button, Select } from 'element-ui';
import 'element-ui/lib/theme-chalk/button.css';
import 'element-ui/lib/theme-chalk/select.css';

Vue.component(Button.name, Button);
Vue.component(Select.name, Select);
1
2
3
4
5
6
7

通过这种方式,您只会在打包时引入实际使用到的组件和样式文件。

# 2. 全局挂载在 Vue 原型上的 API

Element-UI 在引入后,会自动将一些常用的方法挂载到 Vue 的原型上,您可以在任意组件中通过 this 直接调用这些方法,提升开发效率。以下是主要的全局挂载 API:

# 2.1 this.$message 全局消息提示

$message 是 Element-UI 提供的全局消息提示组件,可以在页面上显示操作反馈信息。其调用方法如下:

this.$message({
  message: '操作成功',
  type: 'success'
});
1
2
3
4
  • 参数:支持传入一个配置对象,可以设置消息内容、类型、显示时间等。
  • 类型:success、warning、info、error。

# 2.2 this.$notify 通知

$notify 提供了全局的通知功能,可以在页面的右上角显示非模态通知。

this.$notify({
  title: '成功',
  message: '这是一条成功的通知消息',
  type: 'success'
});
1
2
3
4
5
  • 参数:同样支持传入一个配置对象,设置通知标题、内容、类型、显示时间等。
  • 类型:success、warning、info、error。

# 2.3 this.$confirm 确认框

$confirm 提供了全局的确认框功能,适用于用户确认操作的场景。

this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
  confirmButtonText: '确定',
  cancelButtonText: '取消',
  type: 'warning'
}).then(() => {
  this.$message({
    type: 'success',
    message: '删除成功!'
  });
}).catch(() => {
  this.$message({
    type: 'info',
    message: '已取消删除'
  });
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  • 参数:第一个参数是提示信息,第二个参数是标题,第三个参数是配置对象。
  • 返回值:返回一个 Promise,通过 then 和 catch 处理确认和取消操作。

# 2.4 this.$loading 全局加载

$loading 是全局的加载动画,可以用于显示页面或部分内容加载的状态。

const loadingInstance = this.$loading({
  lock: true,
  text: '加载中',
  spinner: 'el-icon-loading',
  background: 'rgba(0, 0, 0, 0.7)'
});

setTimeout(() => {
  loadingInstance.close();
}, 2000);
1
2
3
4
5
6
7
8
9
10
  • 参数:支持传入一个配置对象,设置加载动画的文本、图标、背景颜色等。
  • 方法:loadingInstance.close() 用于关闭加载动画。

# 2.5 this.$alert 警告框

$alert 提供了全局的警告框功能,通常用于阻止用户进行某些操作并提示相关信息。

this.$alert('这是一段内容', '标题名称', {
  confirmButtonText: '确定',
  callback: action => {
    this.$message({
      type: 'info',
      message: `action: ${action}`
    });
  }
});
1
2
3
4
5
6
7
8
9
  • 参数:第一个参数是警告内容,第二个参数是标题,第三个参数是配置对象。
  • 回调:callback 方法用于处理确认后的逻辑。

总结

  1. 安装与引入:通过 npm 或 yarn 安装 Element-UI,并在项目中选择全局引入或按需引入。
  2. 全局挂载 API:Element-UI 提供了一些全局可用的方法,如 $message、$notify、$confirm、$loading 和 $alert,可以通过 this 关键字在 Vue 组件中直接调用,方便实现全局消息提示、确认框、加载动画等功能。
编辑此页 (opens new window)
上次更新: 2024/12/28, 18:32:08
布局容器 (Container)

布局容器 (Container)→

Theme by Vdoing | Copyright © 2019-2025 程序员scholar
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式