一、遇到的问题

Element UI的Message消息提示是点击一次触发一次的。在开发的时候经常会作为一些校验提示,但是公司的测试人员在进行测试时会一直点,然后就会出现如下图的情况。虽然客户使用的时候一般来说不会出现这种情况(毕竟客户不会闲着没事一直点点点,而且就算出现了也只是不太好看,对功能什么的都没什么影响),但既然测试提出来了那还是要解决的。

最开始查了下Element UI的官方文档,发现确实没提供只弹出一次的功能。其他的如MessageBoxNotification都不太符合要求,更重要的是Message已在项目中大量存在,如果不能在全局解决的话,修改成本实在是太高昂了 。

二、解决方案:

在vue中使用Element的message组件

  • 在vue文件中使用
this.$message({message: "提示信息",type: "success"
})
  • 在js文件中使用
import ElementUI from 'element-ui';
ElementUI.Message({message: '提示信息',type: 'warning'
});

解决消息弹窗重复显示

// message.js
import { Message } from 'element-ui'const showMessage = Symbol('showMessage')
class DonMessage {success (options, single = true) {this[showMessage]('success', options, single)}warning (options, single = true) {this[showMessage]('warning', options, single)}info (options, single = true) {this[showMessage]('info', options, single)}error (options, single = true) {this[showMessage]('error', options, single)}[showMessage] (type, options, single) {if (single) {// 判断是否已存在Messageif (document.getElementsByClassName('el-message').length === 0) {Message[type](options)}} else {Message[type](options)}}
}
export default new DonMessage()

在有需要的地方引入

import DonMessage from '@/message'
  • js文件中直接使用
DonMessage.warning('请登录')
  • 挂载到vue原型上
// main.js
Vue.prototype.$message = DonMessage
// vue文件中调用
this.$message.warning("请登录")

刷新页面,无论点击多少次让Element UI的Message消息提示弹出一个相关推荐

  1. element ui 弹窗遮罩层在弹出层的上面。点击关闭弹窗弹窗关闭了但是遮罩层没关

    首先弹窗一个水平测试报告.然后点击查看解析又可以弹窗一个框 这时我们发现这个解析的框被外面一个遮罩层挡住了. 我把这个水平测试报告的弹窗写在一个组件里面.在组件里面又写了解析的弹窗. 首先查看官网的e ...

  2. 当session失效后,无论点击那个页面,都找到顶端页面,跳到登录页面。

    当session失效后,用户点击当前页面会跳到登录页面,如果用户现在是在子页面,则当前的子页面跳到登录,用户感觉很不好,所以进行处理,例得无论点击那个页面,都找到顶端页面,再跳到登录页面. 处理的方式 ...

  3. js 弹出一个页面 html页面刷新,原生js刷新当前页面与跳转页面的几种方法及区别总结...

    在面向浏览器的web开发过程中,我们经常与JavaScript打交道,web开发页面路由跳转.刷新当前页面更是经常遇到的事.浏览器提供了至少3-5种的方式可以实现当前页面刷新或者跳转当前应用的其他页面 ...

  4. ASP.NET查询页面设置form的action属性只弹出一个页面,并且每次将页面设置到最前...

    背景 当数据量大.查询条件复杂,多样多的时候,我们可能需要单独做一个查询界面,当用户选择设置了相关的查询条件后,点击[查询]按钮,系统就弹出一个新的页面展示出根据条件查询出的数据集. 然后,用户每点[ ...

  5. 【CSS实现Loading遮罩】点击按钮,弹出一个DIV层窗口

    加载中 gif 图片: 页面效果: 源码 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ...

  6. 单击按钮弹出一个页面,并使背景颜色变为灰色

    当你单击新增按钮时,不需要切换页面,而是在页面上弹出一个新增页面,并使背景颜色变为灰色,效果如下: html: <div class="Popup-MaskData"> ...

  7. html点击按钮弹出悬浮窗_9种实现点击一个链接弹出一个小窗口的代码

    9 种实现点击一个链接弹出一个小窗口的代码 因为着是一段 javascripts 代码, 所以它们应该放在之间. 是对一些版本低的浏览器起作用,在这些老浏览器中不会将 标签中的代码作为文本显示出来.要 ...

  8. 点击登录按钮,弹出一个登录框

    点击登录按钮,弹出一个登录框 首先将登录框写在一个div块里,里面放上登录框所需的各种信息,比如用户名.密码等,并将CSS样式里的display设置成none.然后在你的前端页面,比如index.ht ...

  9. %matplotlib inline是jupyter notebook里的命令, 意思是将那些用matplotlib绘制的图显示在页面里而不是弹出一个窗口

    %matplotlib inline是jupyter notebook里的命令, 意思是将那些用matplotlib绘制的图显示在页面里而不是弹出一个窗口 终端输入jupyter notebook,  ...

最新文章

  1. win2k cannot set the docm proportites
  2. Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布
  3. Extjs4中up()和down()的用法以及组件查找_ComponentQuery类
  4. 10个调试Java的技巧
  5. Spring Data JPA 从入门到精通~Auditing及其事件详解
  6. 码农干私活的建议(转)
  7. SAP License:值得一看的ERP问题
  8. hexo搭建个人博客_hexo 搭建个人博客
  9. [转帖]/proc/sys/net/ipv4/ 下参数理解
  10. python snap7 plc_基于Snap7实现与西门子PLC通信(示例代码)
  11. php网站开题报告该怎么答辩,如何应对开题报告答辩?看完你就明白了
  12. 洛谷 U80341 想去玩的Seaway
  13. HTML translate 属性
  14. 安装配置ELK、安装配置ElasticSearch7.13、安装配置Kibana7.13、安装配置Logstash7.13、ElasticSearch7.13安装中文分词器
  15. discuz上传图片html,Discuz编辑器H5上传
  16. HDU 4389 - X mod f(x)
  17. JavaScript函数式编程之副作用
  18. Jmeter正则表达式提取器的使用
  19. 浙大计算机能保研交大清华吗,太牛了吧?寝室4个男生分别保研到清华、北大、浙大和上海交大...
  20. windows 异步IO操作的几种实现方法

热门文章

  1. 判断对象oStringObject是否为String
  2. ATS push cache 测试
  3. 程序员职业生涯的11个阶段程序人生
  4. http://www.cnblogs.com/langjt/p/4281477.html
  5. 将字符串编码成 GBK
  6. 鼠标经过超链接文字变色
  7. Java中文乱码处理
  8. DIY一个低成本多功能点阵时钟!
  9. 电子美图更新36张!
  10. Linus Torvalds:我们都老了,但Linux维护者真的很难找