Element Message相同文案重复提示处理

发布时间 2023-12-14 11:39:36作者: 吃饭七分饱
import { Message } from 'element-ui'

let lastMessageText = null
let messageTimer = null

export default function showMessage(options) {
  // 如果新的消息与上一条消息相同,并且计时器还在运行,那么不显示新的消息
  if (options.message === lastMessageText && messageTimer) {
    return
  }

  // 清除旧的计时器
  if (messageTimer) {
    clearTimeout(messageTimer)
    messageTimer = null
  }

  // 显示新的消息
  Message(options)

  // 更新最后一条消息并设置计时器
  lastMessageText = options.message
  messageTimer = setTimeout(() => {
    lastMessageText = null
  }, options.duration || 5000)
}