vue-pc端Message 消息提示防抖处理-短时间内只触发一次

这篇具有很好参考价值的文章主要介绍了vue-pc端Message 消息提示防抖处理-短时间内只触发一次。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

  • element提供的的message消息提示用确实方便直接代码就搞定。但是在特定的场景并不适用

  • 点击某一个点位提示用户点击了或者websocket推送提示用户来信息了(这种提示用户场景)

  • 如果有很多推送信息来,或者用户一直点击。这是屏幕会一直弹出message提示信息往下堆叠

  • 并不友好,而且还会把屏幕挡住。使得用户体验很不好,我们应该对弹出框信息进行防抖处理

  • 并且这种处理我们最好做加法,这样原来在页面中写的message提示消息也不用二次修改

代码事项

1.在utils/工具文件下建立resetMessage.js文件-代码如下

/**重置message,防止重复点击重复弹出message弹框 */
import { Message } from 'element-ui'
let messageInstance = null
let mainMessage = function DoneMessage (options) {
  //如果弹窗已存在先关闭
  if (messageInstance) {
    messageInstance.close()
  }
  messageInstance = Message(options)
}
let arr = ['success', 'warning', 'info', 'error']
arr.forEach(function (type) {
  mainMessage[type] = function (options) {
    if (typeof options === 'string') {
      options = { message: options }
    }
    options.type = type
    return mainMessage(options)
  }
})
export const message = mainMessage

2.在main.js引入

// 还是按照之前的写法一样写弹出框信息,但如果一直触发弹出框就只会提示一次,不会在页面堆叠
import { message } from './utils/resetMessage'

总结:

经过这一趟流程下来相信你也对 vue-pc端Message 消息提示防抖处理-短时间内只触发一次 有了初步的深刻印象,但在实际开发中我 们遇到的情况肯定是不一样的,所以我们要理解它的原理,万变不离其宗。加油,打工人!

什么不足的地方请大家指出谢谢 -- 風过无痕文章来源地址https://www.toymoban.com/news/detail-638598.html

到了这里,关于vue-pc端Message 消息提示防抖处理-短时间内只触发一次的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决Element UI 多次弹出message消息提示的问题

    使用element ui 的提示信息,可能会出现以下场景,多次的提示信息,影响使用感受。  解决方法: 1、重写 resetMessage.js,具体如下: 在src/utils(文件所在路径可以根据自身需要创建)下新建一个文件 resetMessage.js 2、main.js中引入重写的 resetMessage.js import { message } from \\\'@/utils/re

    2024年02月16日
    浏览(31)
  • Element UI实现每次只弹出一个Message消息提示

    在开发Web应用程序时,我们经常需要使用消息提示来向用户展示重要信息。Element UI提供了一个方便易用的组件——Message,可以用于显示各种类型的消息提示。 然而,默认情况下,当多个消息提示同时触发时,它们会依次累积在页面上,导致界面上出现多个消息提示。本篇博

    2024年02月06日
    浏览(44)
  • elemtui 提示消息element-ui message被遮罩层覆盖解决方法

    elemtui 提示消息element-ui message被遮罩层覆盖解决方法   问题原因:  最外层的遮罩z-index设置太大  默认 的el-dialog的z-index是2000起的, 而我们的 message 低于2000的,因此将 el-dialog 的z-index设置低于message就 可以 了  

    2024年02月07日
    浏览(62)
  • 基于Element UI或Element Plus实现具有倒计时的Message消息提示

    刚好遇到一个需要自动关闭消息提示的需求,可Element框架暂时没有实现这个功能。开始时没有头绪,于是搜一下道友的博客文章,看到有一篇文章实现了这个功能,在此我完善了一下这个技巧方法。完善后的技巧方法支持多次点击,实例化多个消息提示,每个消息提示都具有

    2024年02月07日
    浏览(36)
  • vue项目中按钮防抖处理

    1. 概念 连续点击按钮时,按钮的点击事件只会触发触发一次,结束连续点击后,再次点击按钮时才会触发按钮的点击事件 2. 意义 按钮防抖是针对按钮操作时,用户连续点击按钮时也会每次触发按钮的绑定的点击事件,这会造成多次无效的触发 1. 通过定义指令方式 通过定义

    2024年02月13日
    浏览(43)
  • vue3使用ElementPlus的消息el-message样式不生效或者被遮盖(z-index)

    问题1:el-message自定义样式不生效 想改弹出框的位置时不生效,使用了el-message的自定义类的 custom-class 属性也不行。原因应该是加了scoped后使用到里面样式的dom会添加data-v-xxxx这种属性防止css污染,但是message生成的dom是没有添加data-v-xxx属性的,所以样式无效。 解决方式:j

    2024年02月08日
    浏览(37)
  • Vue项目中实现消息提示/报警/未读消息(铃铛加小圆点闪烁效果)

    在项目开发过程中,可能需要实现以下场景:未读消息提示、报警信息、消息通知等,这些功能往往是在页面的右上角设置一个铃铛,在铃铛或者图标的右上角显示消息数并做呼吸灯效果显示 下面分享一下这类效果的实现方法: 首先实现静态部分,需要一个容器,里面包含

    2024年02月10日
    浏览(44)
  • vue3自定义封装组件:消息提示、轮播图、加载更多、骨架屏组件

    定义组件:src/components/library/xtx-infinite-loading.vue 注册组件:src/components/library/index.js  引用组件:src/main.js 使用组件: .vue文件 首先是轮播图的样式:src/components/library/xtx-carousel.vue  然后是轮播图的结构与逻辑封装:src/components/library/xtx-carousel.vue 插件注册:src/components/library

    2024年02月12日
    浏览(37)
  • 消息队列(Message Queue)

    目录 一、概念 二、消息队列使用场景 1.应用解耦:将应用进行解耦 具体场景:用户下单后,订单系统需要通知库存系统 2.异步处理:多应用对消息队列中同一消息进行处理,应用间并发处理消息,相比串行处理,减少处理时间 具体场景:用户为了使用某个应用,进行注册,

    2024年02月21日
    浏览(49)
  • WPF 实现 Message 消息提醒控件

    WPF 实现 Message 消息提醒控件 控 件:Message 作 者:WPFDevelopersOrg - 驚鏵 原文链接:https://github.com/WPFDevelopersOrg/WPFDevelopers 框架使用 .NET4 至 .NET6 ; Visual Studio 2022 ; 接着上一篇 1)新增 MessageListBoxItem.cs 代码如下: 新增了名为 MessageType 的依赖属性,类型为 MessageBoxImage ,默认值为

    2024年02月16日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包