【工具】Element中Message始终显示一个

一、需求

默认message会在延迟时间之后自动隐藏,如果用户频繁触发message,将会在屏幕上方叠加,影响使用和美观。

现在将message设置成始终出现一个,当最新的message出现时,将上次一还未隐藏的message主动关闭。

二、代码实现

新建工具类.js文件(message.js)

// message.js
import { Message } from 'element-ui'

export default class ShowMessage {
  success (options) {
    this.message('success', options)
  }

  warning (options) {
    this.message('warning', options)
  }

  info (options) {
    this.message('info', options)
  }

  error (options) {
    this.message('error', options)
  }

  message (type, options) {
    const messageDom = document.getElementsByClassName('el-message')[0]
    if (messageDom === undefined) {
      Message[type](options)
    }else{
      Message.closeAll()
      Message[type](options)
    }
  }
}

按需引入Message,本质上还是使用this.message,但在此之前做一些动作,使用.closeAll() 将现存的Message主动关闭

在Main.js中全局引入封装后的Message

import ShowMessage from './utils/message'
Vue.prototype._message = new ShowMessage()

三、使用

this._message.success()
this._message.error()
this._message.warring()
this._message.info()

封装后的Message,只能通过以上方式使用 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值