重写Element UI的Message消息提示,使得每次只弹出一个

Element UI的Message消息提示是点击一次触发一次的。但是在开发测试的时候总会提示很多次,虽说是作为后台管理系统,用户也只是局限于内部人员使用,但是既然测试提出了优化,那还是得解决。

重写message

写一个resetMessage.js文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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

在 main.js 中引入

1
2
3
4
import ElementUI from 'element-ui'
import { message } from '@/utils/resetMessage'
Vue.use(ElementUI)
Vue.prototype.$message = message

引用

1
2
3
4
5
6
// 在vue组件中调用
this.$message({type:success,message:'提示内容'})

// 在js文件中调用
import { message } from '@/utils/resetMessage'
message({type: 'error',message: '提示内容'})

大功告成!!!

本文地址:http://myboolke.com/2020/06/07/element-message/
如有错误或遗漏,欢迎各码友留言。。。