axios 异步多个 MessageBox.confirm 弹出, 点击取消全部关闭

文章讲述了在使用axios处理异步错误时遇到Element-UI的MessageBox确认框无法正确关闭的问题。作者提供了具体的解决方案,即使用$confirm和vue.$msgbox.close()来避免多次弹出确认框。
摘要由CSDN通过智能技术生成

axios 异步错误码,弹框提示:responseBusinessError.js

MessageBox 无效:

MessageBox.confirm 是个Promise, 没有 close 方法,点击取消会弹出多个

import {MessageBox,} from 'element-ui';

if (code === 50008) {
    // 去重新登录
    messageBox.push(MessageBox.confirm('您已注销,您可以取消停留在此页面,或重新登录', '确认注销', {
      confirmButtonText: '重新登录',
      cancelButtonText: '取消',
      type: 'warning',
    }).then(() => {
      toMDSLogin();
    }).catch(() => {
      messageBox.forEach((v) => {
        v.close();
      });
    }));
  }

解决:$confirm && vue.$msgbox.close();

import Vue from 'vue';
const vue = new Vue();


if (code === 50008) {
    vue.$confirm('您已注销,您可以取消停留在此页面,或重新登录', '确认注销', {
      confirmButtonText: '重新登录',
      cancelButtonText: '取消',
      type: 'warning',
    }).then(() => {
      toLogin();
    }).catch(() => {
      vue.$msgbox.close();
    });
  }

来源 https://blog.csdn.net/lazy_ting/article/details/108597773

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值