场景:在某个API接口中调用了ElementUI的Message方法,在加了loading的情况下,多次请求会重复调用Message方法。Message时间长会重叠,时间段看不清提示内容,很烦~~~~

这波是肉蛋葱鸡!!!!

吃了一波马老师的肉蛋葱鸡后,产生了一个想法:重写!!!,然后就有了下面这个东西。

回首掏,呦~鬼刀一开看不见,走位~走位~,手里干!!!难受~~~

主要思路:重写Message每种类型的参数默认值,根据 '.el-message' 类判断message的个数,然后选择是否继续调用相同type的Message类中的方法

  1. 引入ElementUI,及其样式
  2. 定义重写class的唯一标识( Symbol() ),作用是:作为对象属性的唯一标识符,防止对象属性冲突发生。也就是防止我们重写的Message和ElementUI的Message冲突。
  3. 重写Message每种类型参数默认值
  4. export
  5. main.ts 引入
##  elementUI.ts
// 引入
import ElementUI, { Message } from "element-ui";
import "element-ui/lib/theme-chalk/index.css";// 定义唯一标识
const customMessage = Symbol("customMessage");// 自定义Message  class
class CusMessage {// single默认值true,弹出一次success(options: any, single = true) {this[customMessage]("success", options, single);}warning(options: any, single = true) {this[customMessage]("warning", options, single);}info(options: any, single = true) {this[customMessage]("info", options, single);}error(options: any, single = true) {this[customMessage]("error", options, single);}//   类型调用  如:success  =》 [customMessage]('success', options, true)[customMessage](type: any, options: any, single: any) {// 判断每种type的Message是否只支持调用一次if (single) {// 全局查询el-message类限制Message调用次数if (document.getElementsByClassName("el-message").length === 0) {// 调用ElementUI原生Message[type]方法传入options参数Message[type](options);}} else {Message[type](options);}}
}export const elementUI = ElementUI
export const elementClass = new CusMessage()##  main.ts
import { elementUI, elementClass } from "@/utils/elementUI";Vue.use(elementUI);
Vue.prototype.$message = elementClass;

全局修改elementui message 右边弹出_ElementUI 只允许 $message 提示一次相关推荐

  1. element-ui中$confirm弹出框的确定和取消按钮互换位置

    element-ui中$confirm弹出框的确定和取消按钮互换位置 (1)定位元素 (2)找到元素class,通过flex布局,进行位置更换 (3)app.vue中 进行全局修改 /* 确认窗 取消 ...

  2. xp工作用计算机自能看见自己,XP系统弹出“无法查看工作组计算机”提示怎么办...

    摘要 腾兴网为您分享:XP系统弹出"无法查看工作组计算机"提示怎么办,优化大师,银联商务,易视云3,心视界等软件知识,以及博奥清单计价软件,沙孟海书法字体,六棱镜,动画编辑器,组织 ...

  3. Vue消息弹窗不重复弹出,只弹出一次

    消息弹窗不重复弹出,只弹出一次 文章借鉴:让ElementUI Message消息提示每次只弹出一次 1.在utils里新建一个message.js 文件 /*** 重置message,防止重复点击重 ...

  4. win10老是弹出计算机管理器,win10系统Ie11老是弹出“管理加载项”提示框取消的处理办法...

    有时候可能会遇到对win10系统IE11老是弹出"管理加载项"提示框取消进行设置,如果我们需要对win10系统IE11老是弹出"管理加载项"提示框取消进行设置时 ...

  5. php js对话框,JavaScript_js弹出框、对话框、提示框、弹窗实现方法总结(推荐),一、JS的三种最常见的对话框- phpStudy...

    js弹出框.对话框.提示框.弹窗实现方法总结(推荐) 一.JS的三种最常见的对话框 //====================== JS最常用三种弹出对话框 ==================== ...

  6. JavaScript弹出框、对话框、提示框、弹窗总结

    JavaScript弹出框.对话框.提示框.弹窗总结. 1.JS的三种最常见的对话框 //====================== JS最常用三种弹出对话框 =================== ...

  7. 插入U盘老是弹出U盘扫描和提示修复提示怎么解 决

    插入U盘老是弹出U盘扫描和提示修复提示怎么解 决 参考文献:百度经验 参考文献:百度经验 解决参考步骤: 1.在电脑搜索框中输入 服务 找到 ShellHardware Detection,双击打开 ...

  8. php点击文字弹出js提示框,js弹出框、对话框、提示框、弹窗实现方法总结(推荐)...

    一.JS的三种最常见的对话框 //====================== JS最常用三种弹出对话框 ======================== //弹出对话框并输出一段提示信息 funct ...

  9. 交换element-ui中$confirm弹出框的确定和取消按钮位置

    使用element-ui的MessageBox组件时,用到了$confirm弹出框,它的默认样式是这样子的: 在项目开发中,为了保持风格的统一,UI给的切图都是确定在左,取消在右,且居中显示,类似如下 ...

最新文章

  1. .net core 2.0 部署到centos 7生产环境
  2. blob html 预览_Blob | HTML 5 API | JavaScript 权威指南
  3. 查询v$lock缓慢和direct path write temp等待
  4. javascript删除数组,索引出现问题解决办法。
  5. Mysql 数据库学习笔记03 存储过程
  6. scala入门-10 隐式转换、隐式参数、隐式类
  7. 为什么前端工程师薪资越来越高?
  8. java中char类型可以存储两个中文字符吗
  9. node.js的express框架用法(一)
  10. 如何拷贝工程_如何获得微信小游戏跳一跳源码以及源代码组合包括哪些
  11. (转)招商银行这一招,引起了各大银行的注意
  12. 计算机一插u盘就丢失数据,u盘里面的数据会不会消失,教您u盘里面的数据消失怎么办...
  13. MATLAB平台学习(9)信道模型
  14. 新萝卜家园 GhostXP SP3 电脑城装机版 V2011.07
  15. LQ0187 猜年龄【填空题】
  16. (转)什么是PR?什么是BD?
  17. 二进制和 四,八,十,十六,三十二进制的转换
  18. 100个成功创业经验方法谈
  19. 犹豫两年,我还是重回大厂996了:还是得先搞钱
  20. 多传感器数据融合算法综述

热门文章

  1. (一看就懂)傅里叶变换、拉普拉斯变换、Z变换、卷积的经典文章汇总
  2. C 和 C++ 文件操作详解
  3. 微服务架构设计模式~根据业务能力进行服务拆分
  4. Command 和 Active Object 模式
  5. mysql 二进制 存储格式化_解析MYSQL BINLOG 二进制格式(2)--FORMAT_DESCRIPTION_EVENT
  6. python超市买苹果_官网购买的iPhone12pro还没发货?试着用Python快速入手
  7. 现代软件工程 第五章 【团队和流程】练习与讨论
  8. 对微软实习生或者工作感兴趣的读者, 目前我的项目是...
  9. IOC操作Bean管理注解方式(组件扫描配置)
  10. 服务器网站显示多协议,解决高防IIS8服务器https协议多个同时访问的解决方法