處理element-ui message組件多次彈出問(wèn)題

一個(gè)頁(yè)面請(qǐng)求多個(gè)接口時(shí),如果多個(gè)接口返回異常或者錯(cuò)誤時(shí),message組件會(huì)多次彈出。這里對(duì)element-ui 的message組件做一層封裝,防止此類問(wèn)題出現(xiàn)

src/utils/resetMessage.js

/**重置message,防止重復(fù)點(diǎn)擊重復(fù)彈出message彈框 */
import {
  Message
} from 'element-ui';

let messageInstance = null;
const resetMessage = (options) => {
  if (messageInstance) {
      messageInstance.close()
  }
  messageInstance = Message(options)
};
['error', 'success', 'info', 'warning'].forEach(type => {
  resetMessage[type] = options => {
      if (typeof options === 'string') {
          options = {
              message: options
          }
      }
      options.type = type
      return resetMessage(options)
  }
})

export const message = resetMessage

調(diào)用:

import { message } from "@/utils/resetMessage"

 message({
        message: error.response.data.message,
        type: "error",
        duration: 5 * 1000,
        showClose: true
});
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容