你的页面中还有排着队的提示信息?快来自己封装一个Toast

218 阅读1分钟

Elementui的出现,让前端开发工作更加得心应手,但任何工具框架都不是万能的,比如,Elementui的Message提示弹框,当同一时间多次触发时,会有一堆提示框排着队出现,甚为麻烦,如下图所示

image.png

领 导:你这为什么这么多一下并发弹出,太不合理了 前端leader:这是合理的,即使使用防抖也是不可避免的会触发,而且我们自己完全没有必要为傻逼用户的傻逼行为买单 领 导:。。。。 难道真的没有办法了嘛?办法还是有的,偷偷搞一个最简单的,最起码需保证当前只弹一个提示框啊,不然我自己看着都烦,何况领导和用户。

/*
 * @Descripttion:
 * @version:
 * @Author: sunflower
 * @Date: 2020-10-13 15:16:49
 * @LastEditors: sunflower
 * @LastEditTime: 2020-10-13 16:07:52
 */
export default {
  data() {
    return {
      toastCount: 0
    };
  },
  methods: {
    _handleToastMessage({ message = '', type = 'warning', delay = 3000 }) {
      this.toastCount++;

      if (this.toastCount < 2) {
        this.$message[type](message);

        window.setTimeout(() => {
          this.toastCount = 0;
        }, delay);
      }
    }
  }
};

方法使用:

this._handleToastMessage({
   message: '请至少添加一个规格对应的规格值!'
});