最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue 解決mintui彈窗彈起來(lái),底部頁(yè)面滾動(dòng)bug問(wèn)題

 更新時(shí)間:2020年11月12日 11:32:11   作者:vieber  
這篇文章主要介紹了vue 解決mintui彈窗彈起來(lái),底部頁(yè)面滾動(dòng)bug問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

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

問(wèn)題經(jīng)過(guò)

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

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

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

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

解決辦法

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

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

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

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

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

防止?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ì)有一些問(wèn)題,會(huì)出現(xiàn)mt-popup這個(gè)元素也滾動(dòng)不了的情況,所以說(shuō)如果mt-popup本身不需要滾動(dòng)的話,加了@touchmove.native.stop.prevent,底部頁(yè)面就不會(huì)跟著滑動(dòng),如果mt-popup里面有滾動(dòng)條需要滾動(dòng)的話,可能就滾動(dòng)不了,這個(gè)時(shí)候需要采取常規(guī)方法了,如下:

// 解決方式,通過(guò)監(jiān)聽(tīng)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í)候底部頁(yè)面就不會(huì)跟著滾動(dòng)了,很完美。

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

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

相關(guān)文章

  • Vue中使用sass實(shí)現(xiàn)換膚功能

    Vue中使用sass實(shí)現(xiàn)換膚功能

    這篇文章主要介紹了Vue中使用sass實(shí)現(xiàn)換膚功能,實(shí)現(xiàn)此功能用到了三個(gè)主要文件(base.scss、mixin.scss、varibale.scss),需要的朋友可以參考下
    2018-09-09
  • vue中使用ueditor富文本編輯器

    vue中使用ueditor富文本編輯器

    這篇文章主要介紹了vue中使用ueditor富文本編輯器的相關(guān)資料,需要的朋友可以參考下
    2018-02-02
  • vue計(jì)算屬性computed的使用方法示例

    vue計(jì)算屬性computed的使用方法示例

    這篇文章主要介紹了vue計(jì)算屬性computed的使用方法,結(jié)合實(shí)例形式分析了vue計(jì)算屬性computed的基本用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-03-03
  • Vue-drag-resize 拖拽縮放插件的使用(簡(jiǎn)單示例)

    Vue-drag-resize 拖拽縮放插件的使用(簡(jiǎn)單示例)

    本文通過(guò)代碼給大家介紹了Vue-drag-resize 拖拽縮放插件使用簡(jiǎn)單示例,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Element?UI安裝全過(guò)程

    Element?UI安裝全過(guò)程

    element?ui?就是基于vue的一個(gè)ui框架,該框架基于vue開(kāi)發(fā)了很多相關(guān)組件,方便我們快速開(kāi)發(fā)頁(yè)面,餓了么前端團(tuán)隊(duì)基于vue進(jìn)行開(kāi)發(fā)并且進(jìn)行了開(kāi)源?element?ui?中提供全部都是封裝好組件,本文給大家介紹Element?UI安裝全過(guò)程,感興趣的朋友一起看看吧
    2024-01-01
  • vue中i18n的安裝與幾種使用方式詳解

    vue中i18n的安裝與幾種使用方式詳解

    在一些網(wǎng)站經(jīng)常可以看到切換語(yǔ)言包,將網(wǎng)站轉(zhuǎn)化成多種語(yǔ)言版本的情況,下面這篇文章主要給大家介紹了關(guān)于vue中i18n的安裝與幾種使用方式的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • Vue嵌套路由的各種用法詳解

    Vue嵌套路由的各種用法詳解

    在 Vue 中,嵌套路由和 Element Plus 的 Menu 組件是構(gòu)建復(fù)雜單頁(yè)面應(yīng)用(SPA)時(shí)的常用組合,通過(guò)嵌套路由,可以實(shí)現(xiàn)多級(jí)頁(yè)面結(jié)構(gòu),以下是結(jié)合 Vue 嵌套路由和 Element Plus Menu 的各種用法和場(chǎng)景的詳細(xì)介紹,需要的朋友可以參考下
    2025-01-01
  • Vue封裝svg-icon組件使用教程

    Vue封裝svg-icon組件使用教程

    SVG(Scalable?Vector?Graphics)可縮放矢量圖形,是一種用于描述基于二維的矢量圖形的?XML?標(biāo)記語(yǔ)言,其基本矢量顯示對(duì)象包括矩形、圓、橢圓、多邊形、直線、任意曲線等,還能顯示文字對(duì)象和嵌入式外部圖像
    2023-02-02
  • vue3如何在setup中獲取DOM元素

    vue3如何在setup中獲取DOM元素

    這篇文章主要介紹了vue3如何在setup中獲取DOM元素問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue2.0實(shí)戰(zhàn)之使用vue-cli搭建項(xiàng)目(2)

    vue2.0實(shí)戰(zhàn)之使用vue-cli搭建項(xiàng)目(2)

    這篇文章主要為大家詳細(xì)介紹了vue2.0實(shí)戰(zhàn)第二篇使用vue-cli搭建項(xiàng)目,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03

最新評(píng)論

邮箱| 岳普湖县| 江津市| 卫辉市| 静海县| 松原市| 临西县| 花莲市| 武冈市| 文安县| 临安市| 霍林郭勒市| 西昌市| 防城港市| 景宁| 澄江县| 黄梅县| 建德市| 台中县| 高唐县| 峡江县| 乐都县| 申扎县| 尖扎县| 许昌县| 黄骅市| 新余市| 镇平县| 红原县| 石棉县| 青州市| 句容市| 五莲县| 丹棱县| 甘洛县| 田阳县| 宜川县| 杭锦后旗| 介休市| 绿春县| 凤山县|