当前位置: 首页 > news >正文

【Vue】elementUI-MessageBox组件相关

官方代码: 

<template><el-button type="text" @click="open">点击打开 Message Box</el-button>
</template><script>export default {methods: {open() {this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'}).then(() => {this.$message({type: 'success',message: '删除成功!'});}).catch(() => {this.$message({type: 'info',message: '已取消删除'});          });}}}
</script>

1.调换底部【取消】【确认】按钮位置

	.el-message-box__btns {display: flex;justify-content: space-evenly;align-items: center;flex-direction: row-reverse;//反序}

2.在弹框内添加图片

			const h = this.$createElement;this.$confirm('', {title: '删除',message: h('div', null, [h('img', {attrs: { src: require('@/assets/images/msgBoxIcon.png') },}),h('div',{class: 'msgBoxFont',// , style: 'margin:10px 0 0 40px;'},'确认删除商品'),h('div',{class: 'msgBoxFont',},'删除的内容xxxx'),]),confirmButtonText: '确定',cancelButtonText: '取消',customClass: 'del-model',closeOnClickModal: false,closeOnPressEscape: false,}).then(() => {this.$message({type: 'success',message: '删除成功!',});}).catch(() => {this.$message({type: 'info',message: '已取消删除',});});

关键代码:

h('img', {

     attrs: { src: require('@/assets/images/msgBoxIcon.png') },

}),

 3.修改顶部标题、中部内容、底部按钮 样式

.el-message-box.del-model {width: 525px;// width: 27%;height: 321px;background: #ffffff;border-radius: 35px;.el-message-box__header {padding: 40px 0 0 40px;.el-message-box__title {font-weight: 600;font-size: 20px;color: #333333;}.el-message-box__headerbtn {width: 40px;height: 40px;background-color: #f4f9fd;border-radius: 8px;top: 34px;right: 40px;.el-message-box__close.el-icon-close {font-size: 20px;font-weight: bolder;color: #333333;}}}.el-message-box__content {padding: 50px 40px 0 40px;.msgBoxFont {font-weight: 400;font-size: 17px;color: #333333;margin-left: 83px;max-height: 62px;overflow-y: auto;}.el-message-box__message {img {width: 62px;height: 55px;position: absolute;}}}.el-message-box__btns {margin-top: 60px;display: flex;justify-content: space-evenly;align-items: center;flex-direction: row-reverse;.el-button {width: 138px;height: 47px;background: #4d5aa0;border-radius: 10px;span {font-weight: 600;font-size: 16px;color: #ffffff;}}}
}

4.封装组件,自定义样式,全局引入并在其他页面直接使用

1)封装组件

src/utils/下创建customerMessageBox.js

import { MessageBox } from 'element-ui';
import Vue from 'vue';export default function customMessageBox() {Vue.prototype.$chMessageBox = function (title, message1, message2) {const h = this.$createElement;return MessageBox.confirm('', {title: title || '删除',message: h('div', null, [h('img', {attrs: { src: require('@/assets/images/msgBoxIcon.png') },}),h('div', { class: 'msgBoxFont' }, message1),h('div', { class: 'msgBoxFont' }, message2),]),confirmButtonText: window.vm.$i18n.t('system.confirm'),cancelButtonText: window.vm.$i18n.t('system.cancel'),//可使用国际化资源,或直接使用目标语言,如'确认'、'取消'customClass: 'del-model',closeOnClickModal: false,closeOnPressEscape: false,}).then(() => {}).catch(() => {return Promise.reject();});};
}

2)main.js引入

import messageBox from '@/utils/customermessageBox.js';
Vue.use(messageBox); //二次封装elementUI-MessageBox弹窗组件

3)样式自定义,参考问题2 

4)页面中使用

	methods: {showMsg() {this.$MessageBox('确认删除商品标题','删除后不可恢复1', // 可选'删除后不可恢复2' // 可选).then(() => {// 确认删除的逻辑alert('success');}).catch(() => {alert('cancel');// 取消删除的逻辑});},}

http://www.lryc.cn/news/322486.html

相关文章:

  • 数据库运行状况和性能监控工具
  • CTF-辨别细菌
  • RuoYi-Vue开源项目2-前端登录验证码生成过程分析
  • error: C preprocessor fails sanity check
  • Kubernetes实战(三十一)-安装containerd
  • 使用docker搭建faiss向量数据库
  • 安卓面试题多线程 121-125
  • 什么是 HTTPS?它是如何解决安全性问题的?
  • C++入门(下)
  • 2024-03-20 作业
  • 【机器学习】深入解析线性回归模型
  • 新一代云原生数据库OLAP
  • JavaEE--小Demo
  • 一代大神跌落神坛——Java炸了!
  • 面试算法-64-零钱兑换
  • Java复习06 Spring 代码概念
  • 【研究僧总结】回顾第1095个创作日
  • QT(6.5) cmake构建C++编程,调用python
  • Java开发从入门到精通(九):Java的面向对象OOP:成员变量、成员方法、类变量、类方法、代码块、单例设计模式
  • 通过 Socket 手动实现 HTTP 协议
  • 探索数据结构:双向链表的灵活优势
  • 记录一次服务器内存使用率过高达到90%告警问题排查。
  • 基于react native的自定义轮播图
  • Jetson入坑记实
  • 算法系列--递归
  • 【JS】替换文本为emjio表情
  • Solr完结版
  • 外包干了5天,技术退步明显。。。。
  • Cronos zkEVM 基于 Covalent Network(CQT)数据可用性 API,推动其 Layer2 DeFi 生态更好地发展
  • 基于SpringBoot的高校办公室行政事务管理系统