多次触发 message 只显示一次

69 阅读1分钟
const res = JSON.parse(e.data)
const h = this.$createElement
singleNotify({
  // duration: 0,
  title: '报警提示',
  position: 'bottom-right',
  offset: -15,
  message: h(AlarmPrompt, {props: {alarmInfo: res}})
})

import AlarmPrompt  from '@/components/AlarmPrompt'
AlarmPrompt 为显示的自定义内容组合

封装的js
/**
 * 重置message,防止重复点击重复弹出message弹框
 */
import { Notification } from 'element-ui'

let messageInstance = null
const message = (options) => {
  if (messageInstance) {
    messageInstance.close()
  }
  messageInstance = Notification(options)
}

message.close = () => {
  if (messageInstance) {
    messageInstance.close()
  }
}

export const singleNotify = message

image.png