Solution to the problem of repeated pop-up of Element's Message pop-up window

Solution to the problem of repeated pop-up of Element's Message pop-up window

1. Use

Using element's message component in Vue

Use in Vue file

this.$message({
  message: "prompt message",
  type: "success"
})

Use in js file

import ElementUI from 'element-ui';

ElementUI.Message({
  message: 'prompt message',
  type: 'warning'
});

2. Solve the problem of repeated display of message pop-up windows

// message.js
/**
 * @Description: Override message mounting to implement private properties of Class* @param { String } options => message content* @param { Boolean } single => whether to display only one*/
import { Message } from 'element-ui';

const showMessage = Symbol('showMessage');

class DonMessage {
  success (options, single = false) {
    this[showMessage]('success', options, single);
  }
  warning (options, single = false) {
    this[showMessage]('warning', options, single);
  }
  info (options, single = false) {
    this[showMessage]('info', options, single);
  }
  error (options, single = true) {
    this[showMessage]('error', options, single);
  }

  [showMessage] (type, options, single) {
    if (single) {
      // Determine if Message already exists
      if (document.getElementsByClassName('el-message--error').length === 0) {
        Message[type](options);
      }
    } else {
      Message[type](options);
    }
  }
}

// Default export of private Message component export default new DonMessage();

Introduce where necessary

import DonMessage from '@/message' 

Use directly in js file

DonMessage.warning('Please log in') 

Mounted on the vue prototype

// main.js 
Vue.prototype.$message = DonMessage 
// Call this.$message.warning("Please log in") in the vue file

This is the end of this article about how to solve the problem of repeated pop-up of Element’s Message pop-up. For more information about repeated pop-up of Element’s Message pop-up, please search for previous articles on 123WORDPRESS.COM or continue to browse the related articles below. I hope you will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Vue implements table pop-up component based on Element-ui
  • The whole process of implementing the summary pop-up window with Vue+Element UI
  • Steps for encapsulating element-ui pop-up components
  • Implementation of vue+elementui universal pop-up window (add+edit)
  • Solution to the failure of closing the dialog pop-up window in element-ui
  • Detailed explanation of the problem between pop-up windows using element ui and echarts in vue
  • Element modifies the implementation of the level of pop-up window components

<<:  MySQL encoding utf8 and utf8mb4 utf8mb4_unicode_ci and utf8mb4_general_ci

>>:  How to install and connect Navicat in MySQL 8.0.20 and what to pay attention to

Recommend

MySQL 8.0.23 free installation version configuration detailed tutorial

The first step is to download the free installati...

Springboot+Vue-Cropper realizes the effect of avatar cutting and uploading

Use the Vue-Cropper component to upload avatars. ...

How to modify the "Browse" button of the html form to upload files

Copy code The code is as follows: <!DOCTYPE HT...

Detailed explanation of where the images pulled by docker are stored

The commands pulled by docker are stored in the /...

SQL Aggregation, Grouping, and Sorting

Table of contents 1. Aggregate Query 1. COUNT fun...

JavaScript static scope and dynamic scope explained with examples

Table of contents Preface Static scope vs. dynami...

JavaScript to achieve Taobao product image switching effect

JavaScript clothing album switching effect (simil...

CSS Sticky Footer Several Implementations

What is "Sticky Footer" The so-called &...

Solution to the conflict between two tabs navigation in HTML

Let's start with a description of the problem...

Docker installation Nginx tutorial implementation illustration

Let’s install Nginx and try it out. Please note t...

Solution to MySQL master-slave delay problem

Today we will look at why master-slave delay occu...

Linux file and user management practice

1. Display the files or directories in the /etc d...

Detailed explanation of the configuration method of Vue request interceptor

Follow the steps below 1. request.js content: htt...