如何讓Element UI的Message消息提示每次只彈出一個

Element UI的Message消息提示是點擊一次觸發一次的。在開發的時候經常會作為一些校驗提示,但是公司的測試人員在進行測試時會一直點,然后就會出現如下圖的情況。雖然客戶使用的時候一般來說不會出現這種情況(畢竟客戶不會閑著沒事一直點點點,而且就算出現了也只是不太好看,對功能什么的都沒什么影響),但既然測試提出來了那還是要解決的。

彈出消息列表

最開始查了下Element UI的官方文檔,發現確實沒提供只彈出一次的功能。其他的如MessageBoxNotification都不太符合要求,更重要的是Message已在項目中大量存在,如果不能在全局解決的話,修改成本實在是太高昂了?。

解決方案

通過對Message分析可以得知:Element UI在調用Message組件時會在HTML中插入以下代碼,所以我們可以通過document.getElementsByClassName('el-message').length > 0來判斷當前頁面是否已存在Message

?

多個Message

el-message-2

import ElementUI, { Message } from 'element-ui'
// ... Vue.use(ElementUI)
// 命名根據需要,DonMessage只是在文章中使用
Vue.prototype.$message = new DonMessage()// ...// 為了實現Class的私有屬性
const showMessage = Symbol('showMessage')
/** *  重寫ElementUI的Message*  single默認值true,因為項目需求,默認只彈出一個,可以根據實際需要設置*/
class DonMessage {success (options, single = true) {this[showMessage]('success', options, single)}warning (options, single = true) {this[showMessage]('warning', options, single)}info (options, single = true) {this[showMessage]('info', options, single)}error (options, single = true) {this[showMessage]('error', options, single)}[showMessage] (type, options, single) {if (single) {// 判斷是否已存在Messageif (document.getElementsByClassName('el-message').length === 0) {Message[type](options)}} else {Message[type](options)}}
}

同時,因為我們常常會把Message作為全局方法來使用,所以我們要修改Vue.prototype.$message

?

目前改成了 document.getElementsByClassName('el-notification').length === 0

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/247418.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/247418.shtml
英文地址,請注明出處:http://en.pswp.cn/news/247418.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jsp頭文件的內容/response.setHeader

轉載的&#xff01;&#xff01;&#xff01;做一個記錄!!!! response.setHeader 是用來設置返回頁面的頭 meta 信息, 使用時 response.setHeader( name, contect ); meta是用來在HTML文檔中模擬HTTP協議的響應頭報文。meta 標簽用于網頁的<head>與</head>中 1、&l…

css3實現科技感的呼吸燈效果

呼吸燈效果是一種常見的燈光效果&#xff0c;比如網頁的按鈕&#xff0c;現實生活中比如電腦的開機按鈕。 使用CSS3的animation方法可以實現很多迷人的網頁動畫特效。 使用CSS3 配合box-shadow即可實現類似的效果 樣式代碼如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18…

WIX(20121031) 應用設置默認變量

花了了好長時間找到的 這樣可以將變量信息定義到wxs中&#xff0c;方便應用 <?xml version"1.0" encoding"UTF-8"?> <?define ProductName"Wix CY"?> <Wix xmlns"http://schemas.microsoft.com/wix/2006/wi">&l…

百度Echarts折線圖tooltip里數據添加單位

option {title: {text: 折線圖堆疊},tooltip: {trigger: axis,//在這里設置formatter: {a0}:{c0}萬},legend: {data:[郵件營銷,聯盟廣告,視頻廣告,直接訪問,搜索引擎]},grid: {left: 3%,right: 4%,bottom: 3%,containLabel: true},toolbox: {feature: {saveAsImage: {}}},xAxi…

VUE組件 之 Drawer 抽屜

一、源碼地址 https://github.com/imxiaoer/DrawerForVue 二、效果圖 三、具體代碼 drawer.vue <template><div class"drawer"><div :class"maskClass" click"closeByMask"></div><div :class"mainClass"…

什么是基金凈值、單位凈值、累計凈值

基金知識-單位凈值和累計凈值 一投資者問&#xff1a;單位凈值和累計凈值分別指什么&#xff1f;如何通過這兩個值來評定一個基金&#xff1f; 景順長城基金管理有限公司答&#xff1a;基金資產凈值是在某一時點上&#xff0c;基金資產的總市值扣除負債后的余額&#xff0c;代表…

Java生鮮電商平臺-用戶管理的架構與實戰

Java生鮮電商平臺-用戶管理的架構與實戰 在電商后臺中&#xff0c;用戶管理是運營人員管理用戶的模塊。這里的用戶區別于運營人員&#xff0c;會在權限的角色管理中分別闡述。這里的用戶包含平臺的一般用戶&#xff0c;會員用戶等。本文將分享一下用戶管理模塊的設計心得。在設…

vue+Element-ui實現分頁效果

當我們向后臺請求大量數據的時候&#xff0c;并要在頁面展示出來&#xff0c;請求的數據可能上百條數據或者更多的時候&#xff0c;并不想在一個頁面展示&#xff0c;這就需要使用分頁功能來去完成了。 1.本次所使用的是vue2.0element-ui實現一個分頁功能&#xff0c;element-…

ListViewAutoScrollHelper

ListViewAutoScrollHelper轉載于:https://www.cnblogs.com/ZacharyHodgeZou/p/4208350.html

wx.navigateTo跳轉首頁無效

問題: 首頁A—B,B—C,C—A(回首頁無效) 先來看首頁,首頁是由tabBar中三個頁面組成 再來看下首頁的代碼組成 //只保留核心代碼 "tabBar": { ... "list": [ { "pagePath": "pages/home/home", "te…

21款網頁版html5小游戲源碼

html5魅族創意的貪食蛇游戲源碼下載 html5網頁版打磚塊小游戲源碼下載 html5 3D立體魔方小游戲源碼下載 html5網頁版飛機躲避游戲源碼下載 html5三國人物連連看游戲源碼下載 js html5 2048數字游戲源碼_2048網頁版源碼下載 html5盲打高手打飛字游戲下載_網頁版英文打飛字游戲源…

Cookie的使用(js-cookie插件)

一、安裝 npm install js-cookie --save二、引用 import Cookies from js-cookie三、一般使用 存到Cookie去 // Create a cookie, valid across the entire site: Cookies.set(name, value);// Create a cookie that expires 7 days from now, valid across the entire site…

js的array.some()方法

定義和用法 some() 方法用于檢測數組中的元素是否滿足指定條件&#xff08;函數提供&#xff09;。 some() 方法會依次執行數組的每個元素&#xff1a; 如果有一個元素滿足條件&#xff0c;則表達式返回true , 剩余的元素不會再執行檢測。如果沒有滿足條件的元素&#xff0c…

AOP集成防止連續多次點擊問題

AOP即Aspect Oriented Programming的縮寫,習慣稱為切面編程;與OOP(面向對象編程)萬物模塊化的思想不同,AOP則是將涉及到眾多模塊的某一類問題進行統一管理,AOP的優點是將業務邏輯與系統化功能高度解耦,讓我們在開發過程中可以只專注于業務邏輯,其他一些系統化功能(如路由、日志…

應用內安裝部分手機出現解析錯誤

在做應用內升級安裝apk 的時候 出現了 程序包解析出錯&#xff0c;這就很難受了 明明程序包有問題&#xff0c;而且還并不是必發&#xff0c;查了下資料發現是7.0版本的問題 有好幾種說法會引起這個問題 1 使用了V2包 我們在打包的時候最好不要用V2簽名 2 加入臨時授權 intent.…

自定義input[type=file]的兼容樣式

input[type"file"]的樣式在各個瀏覽器中的表現不盡相同&#xff1a; 1. chrome: 2. firefox: 3. opera: 4. ie: 5. edge: 另外&#xff0c;當我們規定 input[type"file"] 的高度&#xff0c;并把它的行高設置成與其高度相等后&#xff0c;chrome中難看的樣…

Excel催化劑開源第37波-音視頻文件元數據提取(分辨率,時長,采樣率等)

上一篇提到圖片元信息Exif的提取&#xff0c;當然還有一類音視頻文件&#xff0c;也同樣存儲著許多寶貴的元數據&#xff0c;那就開源到底唄&#xff0c;雖然自己找尋過程也是蠻艱辛坎坷的&#xff0c;大家看后有收獲&#xff0c;只求多多傳播下&#xff0c;讓前人的工作可以更…

ECharts 雷達圖在類目值下面顯示數值

需要實現的效果&#xff1a; 官網里面的demo顯示數值&#xff0c;都是在拐點處&#xff1a; 【解決】 1、只顯示類目 <div id"mychart" style"width:300px;height:300px;margin:0 auto;"></div><script>var arr1 [60,73,85,40,60];var…

RecyclerView復用item導致數據混亂

一般recyclerview會復用item以讓recycler性能提升 但是我們有些時候會出現復用了之后混亂的情況 如何防止RecyclerView復用item呢 1 最好是每一個有判斷的地方&#xff0c;都要寫全所有情況&#xff0c;什么意思呢 if里textView設了一個值&#xff0c;false也必須設置一個值 2 …