久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

vue 解決mintui彈窗彈起來,底部頁面滾動(dòng)bug問題

瀏覽:4日期:2022-10-30 16:04:44

經(jīng)過dom層層注釋縮小反饋終于找到問題所在。

問題經(jīng)過

我在彈起彈窗的時(shí)候,設(shè)置了popupVisible為true

然后觸發(fā)了vue的updated生命周期鉤子函數(shù)

然后我在這個(gè)函數(shù)里面做了去this.$refs.container.offsetHeight導(dǎo)致頁面重繪

然后就導(dǎo)致了底部頁面向上滾動(dòng)

解決辦法

去掉updated函數(shù)里面的重繪方法

補(bǔ)充知識(shí):項(xiàng)目總結(jié)之關(guān)于vue中使用mint-ui的mt-popup出現(xiàn)滾動(dòng)穿透問題的解決總結(jié)

說實(shí)話,使用Mint-ui這個(gè)ui組件的過程中遇到了很多問題,這個(gè)ui組件問題真多。

先說今天的主題吧,我在使用popup選擇框的時(shí)候和datepicker時(shí)間選擇器的時(shí)候出現(xiàn)了滾動(dòng)穿透的問題,特別是在ios上面。

找了好多方法,最后同事給出了一個(gè)好的方法,很簡(jiǎn)潔,于是就想著總結(jié)下來。

防止?jié)L動(dòng)穿透 只需加入@touchmove.native.stop.prevent 阻止默認(rèn)根元素的默認(rèn)事件就可以了,native是關(guān)鍵,這個(gè)表示根元素的意思,也就是body或者h(yuǎn)tml

代碼如下:

Popup組件:

<mt-popup v-model='popupVisible' position='bottom'> ... </mt-popup> // 防止?jié)L動(dòng)穿透 只需加入@touchmove.native.stop.prevent 阻止默認(rèn)根元素的默認(rèn)事件就可以了native是關(guān)鍵,這個(gè)表示根元素的意思,也就是body或者h(yuǎn)tml <mt-popup v-model='popupVisible' position='bottom' @touchmove.native.stop.prevent> ... </mt-popup>

注意當(dāng)mt-popup中還有div等子元素的時(shí)候,一定要注意,這個(gè)時(shí)候可能會(huì)有一些問題,會(huì)出現(xiàn)mt-popup這個(gè)元素也滾動(dòng)不了的情況,所以說如果mt-popup本身不需要滾動(dòng)的話,加了@touchmove.native.stop.prevent,底部頁面就不會(huì)跟著滑動(dòng),如果mt-popup里面有滾動(dòng)條需要滾動(dòng)的話,可能就滾動(dòng)不了,這個(gè)時(shí)候需要采取常規(guī)方法了,如下:

// 解決方式,通過監(jiān)聽popupVisible變量,在彈窗出現(xiàn)后禁止body節(jié)點(diǎn)touchMove事件,彈窗消失后恢復(fù)body節(jié)點(diǎn)的touchMove事件

//html 如下 <mt-popup v-model='popupVisible' position='bottom'> ... </mt-popup> // js 如下 const handler = function(e) { e.preventDefault(); } // vue實(shí)例內(nèi) watch: { popupVisible: function (val) { if(val) { document.getElementsByTagName(’body’)[0].addEventListener(’touchmove’, this.handler, { passive: false }); } else { document.getElementsByTagName(’body’)[0].removeEventListener(’touchmove’, this.handler, { passive: false }); } } }

Datetime Picker:

<mt-datetime-picker ref='picker' type='time' v-model='pickerValue' @touchmove.native.stop.prevent> </mt-datetime-picker>

對(duì)于時(shí)間組件加了@touchmove.native.stop.prevent,選擇時(shí)間滾動(dòng)的時(shí)候底部頁面就不會(huì)跟著滾動(dòng)了,很完美。

@touchmove.native.stop.prevent可以使我們省好多事,用起來吧!

以上這篇vue 解決mintui彈窗彈起來,底部頁面滾動(dòng)bug問題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
主站蜘蛛池模板: 亚洲国产精品免费 | 日韩一区二区三区在线视频 | va在线观看 | 成人欧美一区二区三区在线观看 | 久久99精品久久久久久久青青日本 | 羞羞视频免费观看 | 成年人在线看片 | 黄色免费网站观看 | 欧美一级高潮片免费的 | 国产欧美一区二区三区国产幕精品 | 亚洲日韩aⅴ在线视频 | 欧美综合国产 | 久久久久久亚洲精品 | 国产中文字幕在线观看 | 日日干天天操 | 亚洲精选久久久 | 伊人春色成人 | chengrenzaixian | 久久久精品国产 | 在线视频一区二区 | 国产偷录视频叫床高潮对白 | 精品国产乱码久久久久久闺蜜 | 中文字幕亚洲精品 | 久久久久久久国产精品 | 伊人色综合久久天天五月婷 | 国产精品成人在线观看 | 欧美精品成人一区二区在线 | 在线国产一区二区 | 亚洲欧美精品 | 日韩手机专区 | 成人av一区二区三区 | 亚洲一区中文 | 羞羞的视频在线免费观看 | 亚洲在线免费观看 | 91在线成人 | 成人在线免费视频 | 操操操av | 欧美一级在线视频 | 爱爱日韩 | 久久精品成人 | 欧美视频在线播放 |