首页 > 其他分享 >Element UI实现每次只弹出一个Message消息提示

Element UI实现每次只弹出一个Message消息提示

时间:2023-09-05 19:02:36浏览次数:24  
标签:只弹 实例 提示 Element messageInstance UI 消息 Message showMessage

前言

在开发Web应用程序时,我们经常需要使用消息提示来向用户展示重要信息。Element UI提供了一个方便易用的组件——Message,可以用于显示各种类型的消息提示。

然而,默认情况下,当多个消息提示同时触发时,它们会依次累积在页面上,导致界面上出现多个消息提示。本篇博客将介绍如何通过对Element UI的Message组件做简单的扩展,使得每次只弹出一个消息提示,从而提升用户体验。

实现原理

我们将通过创建一个全局变量messageInstance来保存当前正在显示的消息提示实例。在显示新的消息提示之前,先检查是否存在已经打开的消息提示实例。如果有,则关闭它,然后再显示新的消息提示。

代码实现

下面是通过JavaScript实现的具体代码:

javascript
import { Message } from 'element-ui';

let messageInstance = null;

function showMessage(message) {
  if (messageInstance) {
    // 如果已经存在一个消息提示实例,则先关闭它
    Message.closeAll();
  }
  
  // 显示新的消息提示,并保存该实例
  messageInstance = Message({
    message: message,
    onClose: () => {
      messageInstance = null; // 当消息提示关闭时,将实例置为null
    }
  });
}

在上述代码中,我们定义了一个showMessage函数来显示消息提示。首先,我们检查是否已经存在一个消息提示实例。如果是,我们使用Message.closeAll()方法关闭它。然后,我们使用Message组件创建一个新的消息提示实例,并将其保存在messageInstance变量中。当消息提示被关闭时,我们将messageInstance设置为null,以便下次调用showMessage时能够正常显示消息。

使用示例

现在,你可以调用showMessage函数来显示消息提示,确保每次只有一个消息提示弹出。

showMessage('这是一条消息提示');

总结

通过对Element UI的Message组件进行简单的扩展,我们实现了每次只弹出一个消息提示的功能。这样可以避免同时出现多个消息提示造成用户困惑的情况,提升用户体验。

通过这个简单的改进,实现了一个更加友好的消息提示功能,使得用户能够清晰地接收到重要信息。

希望本篇博客能够帮助你理解如何在Element UI中实现每次只弹出一个Message消息提示。

标签:只弹,实例,提示,Element,messageInstance,UI,消息,Message,showMessage
From: https://blog.51cto.com/u_15718546/7378355

相关文章

  • buildroot 构建根文件系统(5)添加 Qt 库相关环境
    一、开发背景构建最小系统后成功运行后,需要支持Qt库编译的程序在上面运行二、开发需求Qt库编译的程序可以正常运行三、开发环境LinuxUbuntu 4.15.0-65-generic+ buildroot-2023.02.3+i.mx6d(cortex-A9)四、实现步骤1、基于前面章节的文件系统上打......
  • Android - Get Bluetooth UUID for this device
    StackOverflowisacommunityof4.7millionprogrammers,justlikeyou,helpingeachother.Jointhem,itonlytakesaminute:Android-GetBluetoothUUIDforthisdeviceupvote9downvotefavorite7IwasbrowingStackandtheinternetforasimplesolut......
  • 笔记 | element table show-overflow-tooltip 位置偏移的问题
    一、问题因为我目前的项目是微前端的工程,最外层有一个50px的通用头部,所以页面要减去50px。所有页面看似都很完美,但是使用el-table-column的show-overflow-tooltip属性时,tooltip会向下偏移50px。想到的解决办法:按照el-tooltip的属性更改placement="right"能解决。但......
  • element table 表格控件实现单选功能
      <el-table:data="tableData"borderstriperef="tableData"@row-click="singleElection"><el-table-columnlabel=""width="65"><templateslot-scope="......
  • layuiadmin(官方)知识点
    动态模板layuiAdmin的视图是一个“动静结合”的载体,除了常规的静态模板,你当然还可以在视图中存放动态模板,因此它可谓是焦点中的焦点。定义模板在视图文件中,通过下述规则定义模板:<scripttype="text/html"template><!--动态模板碎片--></script>下面是一个简单的例子:<scri......
  • 安装python GUI工具wxPython遇到的问题及解决方法
     报错很长,后面跟了一个: 网上搜了下,大概是安装wxPython前,需要安装编译工具,这里我直接安装了: 然后按照官网安装命令:pipinstall-UwxPython还是失败又按照网上讲的:配置mingw64,配置gcc环境变量,还是失败, 最后想了个办法,不安装最新版本4.2.1的wxPython了,我安装的4.1.1......
  • 自定义数据类型UI绑定
    场景:在收货地址列表页面A中,点击一个地址进详情页面B,然后修改地址保存关闭页面B,收货地址A需要同步UI更新修改的信息。机制:1、在SwiftUI中,使用@Binding只能绑定基本数据类型,不能处理自定义数据类型。2、@StateObject和@ObservedObject的监听,在目前的测试中体现的是向下传递。即......
  • 基于springboot+LayUI的校园信息发布平台
    系统使用技术:springboot前端技术:LayUI、css、js等开发工具:idea数据库:mysql5.7项目介绍:本系统是一个类似于论坛的信息发布平台,采用MVC三层架构和rest风格URL,后端使用SpringBoot框架,前端采用LayUI框架+freemarker动态模板生成,数据库使用mysql,开发工具采用idea,jdk采用1.8。系统实现了......
  • Burpsuit专业版安装指导
    Burpsuit专业版安装指导(破解)1、现在并安装Burpsuit专业版burpsuite官网下载链接:https://portswigger.net/burp/releases注意:下载V2022.09之前的版本,否则后面破解失败,我下载的是V2022.8.5下载了专业版的burpsuite安装包后,直接在pc上安装。注意:如果在windows上使用建议直接......
  • 今天练习element组件的时候,引入element样式和脚本文件以及vue的组件之后,导入简单eleme
    2023-09-04今天练习element组件的时候,引入element样式和脚本文件以及vue的组件之后,导入简单element组件练习之后,查看组件的时候,样式一直出不来,经过我多次排查,终于发现,导入的三个内容是有顺序排序要求的。必须先导入vue,然后再导入其他的两个。<!DOCTYPEhtml><htmllang="en">......