详细分析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,然后在文件中插入以下代码: 文件…...

制作电子画册速成攻略,快来试试
当今社会,数字媒体日益普及,电子画册作为一种崭新的展示方式,受到了越来越多人的青睐。它不仅形式新颖,互动性强,而且制作起来也并不复杂。想知道如何快速掌握制作电子画册的技巧吗?我来教你吧。 接下来&…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...

DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...

Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...