​resetMessage.js​

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 default resetMessage

​main.js​

import resetMessage from './utils/resetMessage';

// set ElementUI lang to EN
Vue.use(ElementUI);
// 如果想要中文版 element-ui,按如下方式声明
// Vue.use(ElementUI)
ElementUI.Dialog.props.lockScroll.default = false; // 打开弹窗防止页面抖动

Vue.prototype.$message = resetMessage

使用

页面内使用:

this.$message.error('提示内容');//way1
this.$message({type:success,message:'提示内容'}); //way2

文件内使用:

import resetMessage from '../utils/resetMessage';

resetMessage({
message: error.message,
type: 'error',
duration: 5 * 1000,
});