Vue 中 多个 MessageBox 弹框被覆盖的问题

本文针对Vue中ElementUI MessageBox弹框被覆盖的问题进行分析,提出将MessageBox封装成插件的方法,以确保修改密码弹框独立于ElementUI MessageBox,避免弹框排队现象。详细介绍了组件封装过程及代码实现。
摘要由CSDN通过智能技术生成
前情

页面一打开就有一个提醒修改密码的弹框,如果这时候再有其他 messageBox 弹框的时候就会被覆盖,形成多个弹框排队等着处理的效果,第一个弹框永远在最前面,不能及时处理消息
在这里插入图片描述

分析
  • ElementUI 的组件是挂载在 Vue 上的,而全局的 Vue 实例只有一个,所以只能一个一个地弹出 MessageBox
解决方法: 将 MessageBox 封装成一个插件,修改密码的弹框使用插件,其他地方正常使用 ElementUI 的 MessageBox
  • 最终效果
    在这里插入图片描述
代码
MsgBox.vue
<template>
	<div v-show="visible" class="message-box">
		<div class="box">
            <div class="title">
                <div class="box-title">{
   {
   title}}</div>
                <span class="cancel" @click="clickCancel"><svg-icon class="Msgcancel" icon-class="Msgcancel"></svg-icon></span>
            </div>
            <div class="content">
                <span class="icon"><svg-icon icon-class="Msgalarm" class="Msgalarm"></svg-icon></span>
                <div class="box-content">{
   {
   content}}</div>
            </div>
			<div class="box-btns">
				<button @click="clickConfirm" class="btn-confirm"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值