详细分析Element中的MessageBox基本知识(附Demo)
目录
- 前言
- 1. 基本知识
- 2. Demo
- 2.1 确认框
- 2.2 警告框
- 2.3 对话框
- 3. this.$confirm
前言
详细知识推荐阅读:详细分析Element Plus中的ElMessageBox弹窗用法(附Demo及模版)
MessageBox则常用于Vue2
1. 基本知识
MessageBox 是 Element UI 提供的一个全局方法,用于创建各种对话框,如消息提示、确认框和输入框
MessageBox 可以通过引入 MessageBox 组件来使用,也可以通过全局挂载的方式使用 this.$confirm 等快捷方法
常用的方法如下:
MessageBox.alert(message, title, options):显示一个消息提示框MessageBox.confirm(message, title, options):显示一个确认对话框MessageBox.prompt(message, title, options):显示一个输入框
具体的参数说明如下:
message:对话框的内容,可以是字符串或 HTML 片段title:对话框的标题options:配置对象,用于定制对话框的行为和样式,包括以下常用选项:
confirmButtonText:确认按钮的文本
cancelButtonText:取消按钮的文本
type:消息类型(success, warning, info, error)
callback:按钮点击后的回调函数
dangerouslyUseHTMLString:是否将 message 作为 HTML 片段
对应的返回值如下:返回一个 Promise,点击确认按钮会 resolve,点击取消按钮会 reject
2. Demo
2.1 确认框
<template><div><el-button @click="handleDelete(1)">Delete Item 1</el-button><el-table :data="list"><el-table-column prop="name" label="Name"></el-table-column><el-table-column label="Actions"><template slot-scope="scope"><el-button @click="handleDelete(scope.row.id)" type="danger" size="small">Delete</el-button></template></el-table-column></el-table></div>
</template><script>
import { MessageBox, Message } from 'element-ui';export default {data() {return {list: [{ id: 1, name: 'Item 1' },{ id: 2, name: 'Item 2' },{ id: 3, name: 'Item 3' },],};},methods: {handleDelete(id) {MessageBox.confirm('Are you sure you want to delete this item?', 'Warning', {confirmButtonText: 'Yes',cancelButtonText: 'No',type: 'warning',}).then(() => {// Simulate an API call to delete the itemthis.list = this.list.filter(item => item.id !== id);Message({type: 'success',message: 'Item deleted successfully!',});}).catch(() => {Message({type: 'info',message: 'Deletion cancelled',});});},},
};
</script><style>
@import '~element-ui/lib/theme-chalk/index.css';
</style>
2.2 警告框
<template><div><el-button @click="showAlert">Show Alert</el-button></div>
</template><script>
import { MessageBox } from 'element-ui';export default {methods: {showAlert() {MessageBox.alert('This is a warning message', 'Warning', {confirmButtonText: 'OK',type: 'warning',});},},
};
</script><style>
@import '~element-ui/lib/theme-chalk/index.css';
</style>
2.3 对话框
<template><div><el-button @click="showPrompt">Show Prompt</el-button></div>
</template><script>
import { MessageBox } from 'element-ui';export default {methods: {showPrompt() {MessageBox.prompt('Please input your name', 'Prompt', {confirmButtonText: 'OK',cancelButtonText: 'Cancel',}).then(({ value }) => {this.$message({type: 'success',message: 'Your name is: ' + value,});}).catch(() => {this.$message({type: 'info',message: 'Input cancelled',});});},},
};
</script><style>
@import '~element-ui/lib/theme-chalk/index.css';
</style>
3. this.$confirm
在 Vue 2 中使用 Element UI 时,可以通过全局方法 this.$confirm 等快捷方式来调用这些对话框,以简化代码并提升开发效率
实际上它是 MessageBox.confirm 的一个封装
具体的Demo如下:
<template><div><el-button @click="handleDelete(1)">Delete Item 1</el-button><el-table :data="list"><el-table-column prop="name" label="Name"></el-table-column><el-table-column label="Actions"><template slot-scope="scope"><el-button @click="handleDelete(scope.row.id)" type="danger" size="small">Delete</el-button></template></el-table-column></el-table></div>
</template><script>
export default {data() {return {list: [{ id: 1, name: 'Item 1' },{ id: 2, name: 'Item 2' },{ id: 3, name: 'Item 3' },],};},methods: {handleDelete(id) {this.$confirm('Are you sure you want to delete this item?', 'Warning', {confirmButtonText: 'Yes',cancelButtonText: 'No',type: 'warning',}).then(() => {// Simulate an API call to delete the itemthis.list = this.list.filter(item => item.id !== id);this.$message({type: 'success',message: 'Item deleted successfully!',});}).catch(() => {this.$message({type: 'info',message: 'Deletion cancelled',});});},},
};
</script><style>
@import '~element-ui/lib/theme-chalk/index.css';
</style>
同步对比其差异:
<template><div><el-button @click="handleDelete(1)">Delete Item 1</el-button><el-table :data="list"><el-table-column prop="name" label="Name"></el-table-column><el-table-column label="Actions"><template slot-scope="scope"><el-button @click="handleDelete(scope.row.id)" type="danger" size="small">Delete</el-button></template></el-table-column></el-table></div>
</template><script>
import { MessageBox, Message } from 'element-ui';export default {data() {return {list: [{ id: 1, name: 'Item 1' },{ id: 2, name: 'Item 2' },{ id: 3, name: 'Item 3' },],};},methods: {handleDelete(id) {MessageBox.confirm('Are you sure you want to delete this item?', 'Warning', {confirmButtonText: 'Yes',cancelButtonText: 'No',type: 'warning',}).then(() => {// Simulate an API call to delete the itemthis.list = this.list.filter(item => item.id !== id);Message({type: 'success',message: 'Item deleted successfully!',});}).catch(() => {Message({type: 'info',message: 'Deletion cancelled',});});},},
};
</script><style>
@import '~element-ui/lib/theme-chalk/index.css';
</style>
实战中类似的截图如下:

相关文章:
详细分析Element中的MessageBox基本知识(附Demo)
目录 前言1. 基本知识2. Demo2.1 确认框2.2 警告框2.3 对话框 3. this.$confirm 前言 详细知识推荐阅读:详细分析Element Plus中的ElMessageBox弹窗用法(附Demo及模版) MessageBox则常用于Vue2 1. 基本知识 MessageBox 是 Element UI 提供…...
音视频开发8 音视频中SDL的使用,SDL 在windows上环境搭建,SDL 使用 以及 常用 API说明,show YUV and play PCM
1.SDL简介 SDL(Simple DirectMedia Layer),是一个跨平台的C语言多媒体开发库。 支持Windows、Mac OS X、Linux、iOS、Android 提供对音频、键盘、鼠标、游戏操纵杆、图形硬件的底层访问 很多的视频播放软件、模拟器、受欢迎的游戏都在使用…...
P1003 [NOIP2011 提高组] 铺地毯
题目传送门: P1003 [NOIP2011 提高组] 铺地毯 AC代码: #include<bits/stdc.h>using namespace std;int a[10005],b[10005],g[10005],k[10004];int main() {int n,x,y;cin>>n;for(int i1;i<n;i) cin>>a[i]>>b[i]>>g[…...
C语言学习笔记之指针(一)
目录 什么是指针? 指针和指针类型 指针的类型 指针类型的意义 指针-整数 指针的解引用 指针 - 指针 指针的关系运算 野指针 什么是野指针? 野指针的成因 如何规避野指针? 二级指针 什么是指针? 在介绍指针之前&#…...
化学中的不确定性。
化学中的不确定性TOC 基于元素分析的无机化学的理论大厦应该说早已落成了,但是却仍然存在着一些列的难解甚至是无解问题,这些大多是在使用理论解释现象时遇到的困难,有些则是在生产实践中生产工艺和生产工序设计和优化中发现的问题。于是&…...
AWS容器之Fargate
AWS Fargate是亚马逊提供的一种容器管理服务,它允许开发人员在AWS云中轻松运行容器化应用程序,而无需管理底层的服务器基础架构。Fargate可以自动管理容器的部署、扩展和负载平衡,并提供了与ECS和EKS等AWS容器服务集成的能力。适用于容器的无…...
C#面:DataReader与Dataset有什么区别
C#中的DataReader和DataSet都是用于处理数据的类,但它们有一些区别。 DataReader是一种轻量级的只进只读数据流,用于从数据库中检索数据。它是一种快速且高效的数据访问方式,适用于大量数据的读取。DataReader一次只能读取一行数据ÿ…...
操作系统课程实验1-进程调度模拟实验
操作系统课程实验1-进程调度模拟实验 一、实验介绍 1.1 实验目的 本实验模拟在单处理机环境下的处理机调度,帮助理解进程调度的概念,深入了解进程控制块的功能,以及进程的创建、撤销和进程各个状态间的转换过程。 1.2 实验内容 进程调度算…...
JVM CMS 在Full GC时针对跨代引用的优化
个人博客 JVM CMS 在Full GC时针对跨代引用的优化 | iwts’s blog 跨代引用问题 Full GC慢的一个很重要的问题:跨代引用。 简单描述就是: 现代JVM一般是根据对象存活的特性进行了分代,提高了垃圾收集的效率。但是像在回收新生代的时候&a…...
【Makefile】Makefile 编译 Keil 工程(Linux 环境)
本文使用的开发板为 stm32f103C8T6,使用的驱动库为stm32标准库。 目录 一、软件下载 1、stm32 标准库 2、arm-none-eabi 工具链 3、烧录器 二、Keil 工程改造 1、Keil 工程 2、基本 Makefile 工程 3、添加启动文件 4、添加链接脚本 5、去掉 core_cm3.c 三…...
Django的视图层——1HttpResponse对象详解
在django.http模块中定义了HttpResponse对象的APIHttpRequest对象由Django自动创建,HttpResponse对象由程序员创建在每一个视图函数中必须返回一个HttpResponse对象,当然也可以是HttpResponse子对象 1.不用模板,直接返回数据 from django.http import HttpRespons…...
企业活动想找媒体报道宣传怎样联系媒体?
在那遥远的公关江湖里,有一个传说,说的是一位勇士,手持鼠标和键盘,踏上了寻找媒体圣杯的征途。这位勇士,就是我们亲爱的市场部门小李,他的任务是为公司即将举行的一场盛大的企业活动找到媒体的聚光灯。 小李的故事,开始于一张空白的Excel表格,上面列着各大媒体的名称,旁边是一片…...
基于ChatGPT+RPA的融资融券业务担保资产风险评价
原载《会计之友》2024年第2期 作者简介 李闻一 男,湖北洪湖人,华中师范大学经济与工商管理学院教授、博士生导师,会计学科带头人,研究方向:财务共享、公司金融、风险管理 黄怡凡 女,湖北公安人…...
2. CSS选择器与伪类
2.1 基本选择器回顾 在开始介绍CSS3选择器之前,我们先回顾一下CSS的基本选择器。这些选择器是所有CSS开发的基础。 2.1.1 元素选择器 元素选择器用于选中指定类型的HTML元素。 /* 选中所有的<p>元素 */ p {color: blue; }2.1.2 类选择器 类选择器用于选中…...
tcpdump源码分析
进入tcpdump.c(函数入口)之前,先看一些头文件netdissect.h里定义了一个数据结构struct netdissect_options来描述tcdpump支持的所有参数动作,每一个参数有对应的flag, 在tcpdump 的main 里面, 会根据用户的传入的参数来…...
搭建Harbor镜像仓库
前言 1、系统版本:CentOS9 2、harbor版本:v2.9.4 3、提前安装好docker和docker-compose,参考地址。我这里安装的版本是docker:26.1.3 docker-compose:v2.27.1 安装步骤 下载安装包 1、下载地址:ha…...
【C/C++】Makefile文件的介绍与基本用法
创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!! 主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步! 🔥c系列专栏:C/C零基础到精通 🔥 给大…...
PHP生成二维码+二维码包含logo图片展示
composer require chillerlan/php-qrcode 用到的扩展自己安装(注:只生成二维码只要开gd扩展就行) 仅生成二维码看这个: use chillerlan\QRCode\QRCode;public function QRCode(){$qrcode new QRCode();$url "http://ww…...
vue项目打包教程
如果是用 vue-cli 创建的项目,则项目目录中没有 config 文件夹,所以我们需要自建一个配置文件;在vue项目目录下创建文件 vue.config.js,需注意文件名称必须是 vue.config.js,然后在文件中插入以下代码: 文件…...
制作电子画册速成攻略,快来试试
当今社会,数字媒体日益普及,电子画册作为一种崭新的展示方式,受到了越来越多人的青睐。它不仅形式新颖,互动性强,而且制作起来也并不复杂。想知道如何快速掌握制作电子画册的技巧吗?我来教你吧。 接下来&…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
