elementui的el-message重复点击,提示会一直叠加

news2024/10/6 1:39:58

1.问题:

elementui的el-message连续点击按钮会出现一排提示,注意体验很不友好,而且也不好看
如下:
在这里插入图片描述
这种问题如何解决呢 ?

2.参考api

elementui的官网有这个api,也就是说通过close这个方法可以解决
在这里插入图片描述

3.附上代码:

1)使用插件的时候解决

<template>
  <div>
      <el-button @click="submitForm">提示</el-button>
  </div>
</template>

<script>
import {Message} from 'element-ui';
export default {

  data() {
    return {
      option:null
    }
  },
  methods: {
    submitForm(){
      if(this.option){
        this.option.close()
      }
      this.option = Message.success('222')
    },
  },
}
</script>

整个系统如果用到了很多message,那要每个地方都这样添加判断,很麻烦。所以我们想全局解决这个问题

2)全局解决

在main.js中写入这么一段代码:

/**重置message,防止重复点击重复弹出message消息提示 */
import {Message} from 'element-ui';

let messageInstance = null;
 
const resetMessage = (options) => {
  if(messageInstance) {
      messageInstance.close();
  }
  messageInstance = Message(options);
 
};
 
const message = resetMessage

Vue.use(ElementUI);
Vue.prototype.$message = message;
this.$message({
          message: '警告哦,这是一条警告消息',
          type: 'warning'
        });

完美!问题好像是解决了。
但发现如果直接在message后面加上type状态就不行,就会报错。只能message后面直接加括号
如下这种写法就会报错

 this.$message.success('啦啦啦啦')

在这里插入图片描述

那怎么办?
那就给他的那几种状态加上

/**重置message,防止重复点击重复弹出message消息提示 */
import {Message} from 'element-ui';

let messageInstance = null;
 
const resetMessage = (options) => {
  if(messageInstance) {
      messageInstance.close();
  }
  messageInstance = Message(options);
 
};
 
['error','success','info','warning'].forEach(type => {
  resetMessage[type] = options => {
      options = {
          message:options,
          type:type
      }
      return resetMessage(options)
  }
})
const message = resetMessage

Vue.use(ElementUI);

Vue.prototype.$message = message;

在这里插入图片描述

这样就真的没问题啦!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/419103.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

设计模式之美-结构型模式-装饰器模式

装饰器模式主要解决继承关系过于复杂的问题&#xff0c;通过组合来替代继承。指在不改变现有对象结构的情况下&#xff0c;动态地给该对象增加一些职责&#xff08;即增加其额外功能&#xff09;的模式&#xff0c;装饰器模式提供了比继承更有弹性的替代方案将功能附加到对象上…

4月20日专家谈:内网突遭攻击,安全人员一招有效处理

随着网络威胁的愈加频繁&#xff0c;企业面临的安全问题也越来越多&#xff0c;传统的安全能力在面对日益增长的安全问题时显得捉襟见肘。 SOAR借助安全编排和自动化技术&#xff0c;将人工操作和技术集成在一起&#xff0c;自动化完成安全处置&#xff0c;帮助企业更快地响应…

JavaScript【九】JavaScript BOM(浏览器对象模型)

文章目录&#x1f31f;前言&#x1f31f; Bom&#xff08;浏览器对象模型&#xff09;&#x1f31f;window对象&#xff1a;&#x1f31f;属性&#xff1a;&#x1f31f; 方法&#xff1a;&#x1f31f; 获取元素:&#x1f31f; 添加点击事件&#xff1a;&#x1f31f; 获取表单…

大数据Flink进阶(二十):Flink细粒度资源管理

文章目录 Flink细粒度资源管理 一、细粒度资源管理介绍 二、细粒度资源适用场景

关于合金电阻

合金电阻是一种具有高精度、高稳定性和高温度特性的电阻器件&#xff0c;广泛应用于各种电子设备中。选型合适的合金电阻并进行合理的设计&#xff0c;可以有效地提高电路的性能和可靠性。本文将从合金电阻的基本原理、选型方法及设计要点等方面进行详细介绍。 一、合金电阻的基…

简单认识下with和上下文管理器

with 对于系统资源如文件、数据库连接、socket&#xff0c;应用程序打开这些资源并执行完业务逻辑之后&#xff0c;必须关闭&#xff08;断开&#xff09;该资源。系统允许打开的最大文件数量是有限的&#xff0c;如果我们打开文件后没有及时关闭&#xff0c;极端情况下会出现…

21天学会C++:Day2----命名空间的那些事儿

CSDN的uu们&#xff0c;大家好。这里是C入门的第二讲。 座右铭&#xff1a;前路坎坷&#xff0c;披荆斩棘&#xff0c;扶摇直上。 博客主页&#xff1a; 姬如祎 收录专栏&#xff1a;C专题 目录 1. 为什么要有命名空间 2. 命名空间的定义 3. 访问命名空间域中成员的三种方…

基于Java+SpringBoot+vue的人职匹配推荐系统设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】

博主介绍&#xff1a;专注于Java技术领域和毕业项目实战 &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb; 不然下次找不到哟 Java项目精品实战案例&#xff08;300套&#xff09; 目录 一、效果演示 二、…

virtualbox如何配网

配网搞了一天&#xff01;&#xff01;&#xff01; 百度到的所有教程都是垃圾&#xff01;&#xff01; 就没有一个写全的&#xff01;&#xff01;写明白怎么配的&#xff01;&#xff01;&#xff01; 我自己来&#xff01;&#xff01;&#xff01;不会配的看我&#xf…

浅析 Queue 和 Deque

终于开始了 LeetCode 的练习&#xff0c;看到 102. 二叉树的层序遍历 有种解法利用到了队列&#xff0c;想着挨个看看基础队列中的方法&#xff0c;便有了这篇文章。 基于 Java 对 Queue 以及 Deque&#xff08;double ended queue&#xff09; 实现进行学习介绍&#xff0c;JD…

Vue之代码传送(teleport)

代码传送是啥 在Vue中&#xff0c;代码传送就是将某部分的代码从Vue的template标签下传送到指定的地方&#xff0c;这个地方通常是body标签下。在使用Vue编写界面时&#xff0c;我们都是在html的Body中写一个div&#xff0c;然后指定一个id&#xff0c;然后在Vue的实例中的tem…

2023春招offer收割机,阿里架构师耗时半月写的《Java面试手册》

程序猿在世人眼里已经成为高薪、为人忠诚的代名词。 然而&#xff0c;小编要说的是&#xff0c;不是所有的程序员工资都是一样的。 世人所不知的是同为程序猿&#xff0c;薪资的差别还是很大的。 众所周知&#xff0c;目前互联网行业是众多行业中薪资待遇最好的&#xff0c;包…

Java语法理论和面经杂疑篇《九. 网络编程》

目录 1. 网络编程概述 1.1 软件架构 1.2 网络基础 2. 网络通信要素 2.1 如何实现网络中的主机互相通信 2.2 通信要素一&#xff1a;IP地址和域名 2.2.1 IP地址 2.2.2 域名 2.3 通信要素二&#xff1a;端口号 2.4 通信要素三&#xff1a;网络通信协议 2. 谈传输层协议…

时间序列教程 四、自回归和移动平均模型

一、本节目标 了解自相关函数(ACF)。 了解部分自相关函数(PACF)。 了解自回归和移动平均模型是如何工作的。 使用Python来拟合自相关模型。 二、ACF和PACF 1、自相关函数(ACF) 测量信号与自身延迟数据的相关性。 它用于发现信号中的重复模式,例如周期性信号的存…

Spring相关概念

Spring家族 官网&#xff1a;Spring | Home&#xff0c;从官网我们可以大概了解到&#xff1a; Spring能做什么:用以开发web、微服务以及分布式系统等,光这三块就已经占了JavaEE开发 的九成多。Spring并不是单一的一个技术&#xff0c;而是一个大家族&#xff0c;可以从官网的…

.NET基础加强第七课--文件流

序列化 JSON序列化 例子 using Nancy.Json; Person p1 new Person(); p1.Name “zs”; // json 序列化 JavaScriptSerializer javaScriptSerializer new JavaScriptSerializer(); string json javaScriptSerializer.Serialize(p1); Console.WriteLine(json); Console.…

linux-创建子进程的过程与原理(fork讲解)

我们知道&#xff0c;子进程可以被命令行创建&#xff0c;被fork函数创建&#xff0c;但是子进程创建了什么呢&#xff0c;是完全拷贝父进程函数&#xff1f;还是继承父进程数据呢&#xff1f; 首先我们要知道&#xff0c;进程的构成&#xff1a;进程内核数据结构可运行程序载…

二维差分【算法推导,图文讲解清晰】

798. 差分矩阵 - AcWing题库 算法推导 二维差分相对一维差分会复杂一点&#xff0c;而且还要结合二维前缀和的一些细节处理 A、B数组角色问题 在差分思想中&#xff0c;构造并不是那么重要&#xff0c;而是其中A、B数组的角色。 我们假想存在一个数组B&#xff0c;输入的A…

论文阅读《NeRF-Supervised Deep Stereo》

论文地址&#xff1a;https://arxiv.org/pdf/2303.17603.pdf 源码地址&#xff1a;https://nerfstereo.github.io/ 概述 针对深度估计的标签数据难以获取&#xff0c;自监督方法在病态&#xff08;遮挡、非朗伯面&#xff09;区域的表现差&#xff0c;跨域泛化能力弱的问题&…

【jvm系列-06】深入理解对象的实例化、内存布局和访问定位

JVM系列整体栏目 内容链接地址【一】初识虚拟机与java虚拟机https://blog.csdn.net/zhenghuishengq/article/details/129544460【二】jvm的类加载子系统以及jclasslib的基本使用https://blog.csdn.net/zhenghuishengq/article/details/129610963【三】运行时私有区域之虚拟机栈…