vue better scroll 無(wú)法滾動(dòng)的解決方法
使用vue+better scroll
今天實(shí)現(xiàn)切換用戶(hù)后查詢(xún)用戶(hù)訂單列表的一個(gè)功能,在實(shí)例化betterscroll時(shí),因?yàn)橛械挠脩?hù)沒(méi)有訂單,切換用戶(hù)后會(huì)出現(xiàn)訂單列表無(wú)法滾動(dòng)的問(wèn)題。先放代碼:
<!-- 訂單列表 --> <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>最近沒(méi)有訂單</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) {
// 判斷是否還有訂單,但沒(méi)有考慮用戶(hù)有10的整倍數(shù)條訂單的情況
this.orderSize += 10;
this.resentOrders();
return;
} else {
Toast("沒(méi)有更多了")
}
})
},
找了半天原因,最后發(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>最近沒(méi)有訂單</p> </div> </div>
把v-if、v-else換成 v-show就好啦
ps:
1. 檢查HTML 以及css是否有寫(xiě)錯(cuò)的地方,有時(shí)候?qū)戝e(cuò)會(huì)導(dǎo)致html中dom無(wú)法正確生成,而better-scroll是需要dom完全加載完畢后才可以正確滾動(dòng)的
2. html和css全部寫(xiě)正確的時(shí)候還是無(wú)法滾動(dòng)
檢查better-scroll是否初始化時(shí)機(jī)太早(dom沒(méi)有完全生成,已經(jīng)初始化了),可以使用vue的$nextTick來(lái)異步初始化better-scroll
3. better-scroll在使用的時(shí)候,滾動(dòng)只作用于第一層元素,因此在使用better-scroll時(shí),better要加上一層div(div下面再放其他東西,better里不能有同級(jí)的2及以上div)
這里要加上seller-content層,如果不加是無(wú)法滾動(dòng)的

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 詳解無(wú)限滾動(dòng)插件vue-infinite-scroll源碼解析
- 詳解 vue better-scroll滾動(dòng)插件排坑
- 基于vue的fullpage.js單頁(yè)滾動(dòng)插件
- vue滾動(dòng)軸插件better-scroll使用詳解
- vue利用better-scroll實(shí)現(xiàn)輪播圖與頁(yè)面滾動(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觸發(fā)真實(shí)的點(diǎn)擊事件跟用戶(hù)行為一致問(wèn)題
這篇文章主要介紹了vue觸發(fā)真實(shí)的點(diǎn)擊事件跟用戶(hù)行為一致問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
vue再次進(jìn)入頁(yè)面不會(huì)再次調(diào)用接口請(qǐng)求問(wèn)題
這篇文章主要介紹了vue再次進(jìn)入頁(yè)面不會(huì)再次調(diào)用接口請(qǐng)求問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
vue計(jì)算屬性和監(jiān)聽(tīng)器實(shí)例解析
本文通過(guò)基本實(shí)例給大家介紹了vue計(jì)算屬性和監(jiān)聽(tīng)器的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-05-05
Vue表單數(shù)據(jù)修改與刪除功能實(shí)現(xiàn)
本文通過(guò)實(shí)例代碼介紹了Vue表單數(shù)據(jù)修改與刪除功能實(shí)現(xiàn),結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友跟隨小編一起看看吧2023-10-10
vue打包上傳服務(wù)器刷新404問(wèn)題的兩種方案
這篇文章主要給大家介紹了關(guān)于vue打包上傳服務(wù)器刷新404問(wèn)題的兩種方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
vue中數(shù)據(jù)請(qǐng)求axios的封裝和使用
這篇文章主要介紹了vue中數(shù)據(jù)請(qǐng)求axios的封裝和使用,Axios?是一個(gè)基于?promise?的?HTTP?庫(kù),下面文章圍繞主題的相關(guān)資料展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-04-04
vue2.0+vuex+localStorage代辦事項(xiàng)應(yīng)用實(shí)現(xiàn)詳解
本篇文章給大家分享了一個(gè)用vue2.0+vuex+localStorage代辦事項(xiàng)應(yīng)用實(shí)現(xiàn)的代碼過(guò)程,有興趣的朋友跟著參考學(xué)習(xí)下。2018-05-05
vue3使用Element-plus的el-pagination分頁(yè)組件時(shí)無(wú)法顯示中文
本文主要介紹了vue3使用Element-plus的el-pagination分頁(yè)組件時(shí)無(wú)法顯示中文,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12

