亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue解決element-ui消息提示$message重疊問(wèn)題

 更新時(shí)間:2023年08月25日 10:05:54   作者:DiracKeeko  
這篇文章主要為大家介紹了Vue解決element-ui消息提示$message重疊問(wèn)題,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

錯(cuò)誤出現(xiàn)

貼一段代碼

函數(shù)中程序同步執(zhí)行,先后觸發(fā)兩個(gè)$message,此時(shí)兩個(gè)$message的彈窗重疊

預(yù)期的情況是下圖這樣一上一下出現(xiàn)

這因?yàn)関ue的異步更新隊(duì)列有緩沖機(jī)制,第一次$message觸發(fā)時(shí),并沒(méi)有更新dom,導(dǎo)致第二個(gè)$message取item.$el.offsetHeight取到的高度為0,所以第二個(gè)$message只是下移了默認(rèn)的offset(即16px),并沒(méi)有加上第一個(gè)$message的offsetHeight。

解決這個(gè)問(wèn)題的辦法

1、如果是單一場(chǎng)景,用$nextTick處理

this.$nextTick(() => {
    this.$message(...);
});

可以保證dom更新之后再觸發(fā)$message,正確的獲取到$el.offsetHeight

2、將第二個(gè)$message寫(xiě)在setTimeout回調(diào)函數(shù)中

(其思想與$nextTick同理)

3、async + await

注意

如果有多個(gè)(>=3個(gè))$message,$nextTick以及await只能解決第1個(gè)與第2個(gè)重疊的情況,第2個(gè)、第3個(gè)還會(huì)重疊,這種情況改用setTimeout。

以上就是Vue解決element-ui消息提示$message重疊問(wèn)題的詳細(xì)內(nèi)容,更多關(guān)于Vue解決message重疊的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論