vue better scroll 無法滾動(dòng)的解決方法
使用vue+better scroll
今天實(shí)現(xiàn)切換用戶后查詢用戶訂單列表的一個(gè)功能,在實(shí)例化betterscroll時(shí),因?yàn)橛械挠脩魶]有訂單,切換用戶后會(huì)出現(xiàn)訂單列表無法滾動(dòng)的問題。先放代碼:
<!-- 訂單列表 --> <div id="order-list" ref="scrollWrap"> <ul v-if="orderLists.length > 0"> <li v-for="(orderList,index) in orderLists" :key="index"> <div class="order-info"> 訂單信息 </div> </li> </ul> <div class="no-orders" v-else> <p>最近沒有訂單</p> </div> </div>
// init better scroll
initScroll() {
let self = this;
if (!this.scroll) {
this.scroll = new BScroll(self.$refs.scrollWrap, {
bounceTime: 200,
click: true,
mouseWheel: true,
scrollbar: { // 滾動(dòng)條
fade: true,
},
pullUpLoad: { // 上拉加載
threshold: -40,
}
})
} else {
this.scroll.refresh();
}
this.scroll.on('pullingUp', () => {
if(this.orderLists.length%10 == 0) {
// 判斷是否還有訂單,但沒有考慮用戶有10的整倍數(shù)條訂單的情況
this.orderSize += 10;
this.resentOrders();
return;
} else {
Toast("沒有更多了")
}
})
},
找了半天原因,最后發(fā)現(xiàn)應(yīng)該這樣:
<!-- 訂單列表 --> <div id="order-list" ref="scrollWrap"> <ul v-show="orderLists.length > 0"> <li v-for="(orderList,index) in orderLists" :key="index"> <div class="order-info"> 訂單信息 </div> </li> </ul> <div class="no-orders" v-show="orderLists.length === 0" > <p>最近沒有訂單</p> </div> </div>
把v-if、v-else換成 v-show就好啦
ps:
1. 檢查HTML 以及css是否有寫錯(cuò)的地方,有時(shí)候?qū)戝e(cuò)會(huì)導(dǎo)致html中dom無法正確生成,而better-scroll是需要dom完全加載完畢后才可以正確滾動(dòng)的
2. html和css全部寫正確的時(shí)候還是無法滾動(dòng)
檢查better-scroll是否初始化時(shí)機(jī)太早(dom沒有完全生成,已經(jīng)初始化了),可以使用vue的$nextTick來異步初始化better-scroll
3. better-scroll在使用的時(shí)候,滾動(dòng)只作用于第一層元素,因此在使用better-scroll時(shí),better要加上一層div(div下面再放其他東西,better里不能有同級(jí)的2及以上div)
這里要加上seller-content層,如果不加是無法滾動(dòng)的

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 詳解無限滾動(dòng)插件vue-infinite-scroll源碼解析
- 詳解 vue better-scroll滾動(dòng)插件排坑
- 基于vue的fullpage.js單頁滾動(dòng)插件
- vue滾動(dòng)軸插件better-scroll使用詳解
- vue利用better-scroll實(shí)現(xiàn)輪播圖與頁面滾動(dòng)詳解
- vue使用 better-scroll的參數(shù)和方法詳解
- vue better-scroll插件使用詳解
- vue.js2.0 實(shí)現(xiàn)better-scroll的滾動(dòng)效果實(shí)例詳解
- vue2.0 better-scroll 實(shí)現(xiàn)移動(dòng)端滑動(dòng)的示例代碼
- Vue + better-scroll 實(shí)現(xiàn)移動(dòng)端字母索引導(dǎo)航功能
- vue使用better-scroll實(shí)現(xiàn)下拉刷新、上拉加載
- vue滾動(dòng)插件better-scroll使用詳解
相關(guān)文章
Vue文件如何轉(zhuǎn)換成base64并去除多余的文件類型前綴
這篇文章主要介紹了Vue文件如何轉(zhuǎn)換成base64并去除多余的文件類型前綴問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
Vue3使用ref解決GetElementById為空的問題
今天遇到一個(gè)問題,就是在Vue3組件中需要獲取template中的元素節(jié)點(diǎn),使用GetElementById返回的卻是null,網(wǎng)上查找了好些資料,才發(fā)需要使用ref,所以本文給大家介紹了Vue3組件中如何使用ref解決GetElementById為空的問題,需要的朋友可以參考下2023-12-12
Vue項(xiàng)目配置跨域訪問和代理proxy設(shè)置方式
這篇文章主要介紹了Vue項(xiàng)目配置跨域訪問和代理proxy設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-09-09
vue-router啟用history模式下的開發(fā)及非根目錄部署方法
這篇文章主要介紹了vue-router啟用history模式下的開發(fā)及非根目錄部署方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12
axios取消請(qǐng)求CancelToken的用法示例代碼
Axios提供了取消請(qǐng)求的功能,可以通過使用CancelToken來實(shí)現(xiàn),這篇文章主要給大家介紹了關(guān)于axios取消請(qǐng)求CancelToken的用法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10
詳解webpack + vue + node 打造單頁面(入門篇)
本篇文章主要介紹了詳解webpack + vue + node 打造單頁面(入門篇) ,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-09-09
詳解從vue-loader源碼分析CSS Scoped的實(shí)現(xiàn)
這篇文章主要介紹了詳解從vue-loader源碼分析CSS Scoped的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
vue中keep-alive內(nèi)置組件緩存的實(shí)例代碼
這篇文章主要介紹了vue中的keep-alive內(nèi)置組件緩存,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
在Vue中實(shí)現(xiàn)父組件控制子組件的值的兩種方法
在Vue開發(fā)中,父組件和子組件之間的數(shù)據(jù)傳遞是一項(xiàng)常見的任務(wù),本文將介紹如何在Vue中實(shí)現(xiàn)父組件控制子組件的值,以便靈活地管理和更新子組件的數(shù)據(jù),文中有詳細(xì)的代碼講解,需要的朋友可以參考下2023-11-11
vue3點(diǎn)擊按鈕下載文件功能的代碼實(shí)現(xiàn)
在寫vue項(xiàng)目時(shí),有個(gè)需求是點(diǎn)擊表格中某一行的下載按鈕,然后開始下載這一行對(duì)應(yīng)的文件,所以本文小編給大家介紹了使用vue3實(shí)現(xiàn)點(diǎn)擊按鈕下載文件功能,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2024-01-01

