重写elementUI中的message提示框,解决提示框同时显示多个的问题

柔光的暖阳◎ 2022-12-08 05:24 438阅读 0赞

第一步:先写一个js文件:

  1. import {
  2. Message
  3. } from 'element-ui';
  4. let messageInstance = null;
  5. const resetMessage = (options) => {
  6. if(messageInstance) {
  7. messageInstance.close()
  8. }
  9. messageInstance = Message(options)
  10. };
  11. ['error','success','info','warning'].forEach(type => {
  12. resetMessage[type] = options => {
  13. if(typeof options === 'string') {
  14. options = {
  15. message:options
  16. }
  17. }
  18. options.type = type
  19. return resetMessage(options)
  20. }
  21. })
  22. export const message = resetMessage

第二步,在 main.js 中引入

  1. import ElementUI from 'element-ui';
  2. import 'element-ui/lib/theme-chalk/index.css';
  3. Vue.use(ElementUI);
  4. import {
  5. message
  6. } from './components/js/resetMessage';
  7. Vue.prototype.$message = message; // 这一个操作一定要放在Vue.use(ElementUI) 后面

第三步:使用:

  1. // 在vue组件中代码中调用:
  2. this.$message.error('提示内容');//way1
  3. this.$message({type:success,message:'提示内容'}); //way2
  4. // 在js文件中调用:
  5. import {
  6. message
  7. } from '@/utils/resetMessage';
  8. message({type: 'error',message: '提示内容'});//way1
  9. message.error('提示内容'); //way2

<— 如有不妥,请指正;—>

发表评论

表情:
评论列表 (有 0 条评论,438人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Angular——提示

      今天做了一下提示框,也是模仿的,所以下面我就来简单解释一下如何制作提示框,以及解析一下代码和逻辑。   其实整个逻辑思路很简单,就是先在前台用HTML的p-dialog