亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue項目中mintui彈窗彈起來底部頁面滾動怎么解決

發布時間:2020-11-16 15:35:21 來源:億速云 閱讀:261 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關vue項目中mintui彈窗彈起來底部頁面滾動怎么解決,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

經過dom層層注釋縮小反饋終于找到問題所在。

問題經過

我在彈起彈窗的時候,設置了popupVisible為true

然后觸發了vue的updated生命周期鉤子函數

然后我在這個函數里面做了去this.$refs.container.offsetHeight導致頁面重繪

然后就導致了底部頁面向上滾動

解決辦法

去掉updated函數里面的重繪方法

補充知識:項目總結之關于vue中使用mint-ui的mt-popup出現滾動穿透問題的解決總結

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

先說今天的主題吧,我在使用popup選擇框的時候和datepicker時間選擇器的時候出現了滾動穿透的問題,特別是在ios上面。

找了好多方法,最后同事給出了一個好的方法,很簡潔,于是就想著總結下來。

防止滾動穿透 只需加入@touchmove.native.stop.prevent 阻止默認根元素的默認事件就可以了,native是關鍵,這個表示根元素的意思,也就是body或者html

代碼如下:

Popup組件:

<mt-popup
     v-model="popupVisible"
     position="bottom">
     ...
  </mt-popup>
  // 防止滾動穿透 只需加入@touchmove.native.stop.prevent 阻止默認根元素的默認事件就可以了native是關鍵,這個表示根元素的意思,也就是body或者html
  <mt-popup
   v-model="popupVisible"
   position="bottom"
   @touchmove.native.stop.prevent>
   ...
  </mt-popup>

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

// 解決方式,通過監聽popupVisible變量,在彈窗出現后禁止body節點touchMove事件,彈窗消失后恢復body節點的touchMove事件

 //html 如下
   <mt-popup
     v-model="popupVisible"
     position="bottom">
     ...
   </mt-popup>
  // js 如下
  const handler = function(e) {
    e.preventDefault();
  }
  
  // vue實例內
  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>

對于時間組件加了@touchmove.native.stop.prevent,選擇時間滾動的時候底部頁面就不會跟著滾動了,很完美。

上述就是小編為大家分享的vue項目中mintui彈窗彈起來底部頁面滾動怎么解決了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

呼伦贝尔市| 岳阳县| 陇西县| 普格县| 漾濞| 德庆县| 金华市| 呼图壁县| 通许县| 丹阳市| 泸西县| 吴桥县| 新建县| 大姚县| 溧阳市| 阳山县| 横山县| 张掖市| 介休市| 奉新县| 大港区| 土默特右旗| 盐亭县| 洛浦县| 金阳县| 永顺县| 大庆市| 双辽市| 青海省| 织金县| 荥阳市| 清水河县| 花莲县| 镇雄县| 洮南市| 辰溪县| 肥东县| 台湾省| 临泉县| 怀仁县| 湖口县|