vue better scroll 無法滾動的解決方法
使用vue+better scroll
今天實現(xiàn)切換用戶后查詢用戶訂單列表的一個功能,在實例化betterscroll時,因為有的用戶沒有訂單,切換用戶后會出現(xià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>最近沒有訂單</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: { // 滾動條
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)應該這樣:
<!-- 訂單列表 --> <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是否有寫錯的地方,有時候寫錯會導致html中dom無法正確生成,而better-scroll是需要dom完全加載完畢后才可以正確滾動的
2. html和css全部寫正確的時候還是無法滾動
檢查better-scroll是否初始化時機太早(dom沒有完全生成,已經初始化了),可以使用vue的$nextTick來異步初始化better-scroll
3. better-scroll在使用的時候,滾動只作用于第一層元素,因此在使用better-scroll時,better要加上一層div(div下面再放其他東西,better里不能有同級的2及以上div)
這里要加上seller-content層,如果不加是無法滾動的

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- 詳解無限滾動插件vue-infinite-scroll源碼解析
- 詳解 vue better-scroll滾動插件排坑
- 基于vue的fullpage.js單頁滾動插件
- vue滾動軸插件better-scroll使用詳解
- vue利用better-scroll實現(xiàn)輪播圖與頁面滾動詳解
- vue使用 better-scroll的參數(shù)和方法詳解
- vue better-scroll插件使用詳解
- vue.js2.0 實現(xiàn)better-scroll的滾動效果實例詳解
- vue2.0 better-scroll 實現(xiàn)移動端滑動的示例代碼
- Vue + better-scroll 實現(xiàn)移動端字母索引導航功能
- vue使用better-scroll實現(xiàn)下拉刷新、上拉加載
- vue滾動插件better-scroll使用詳解
相關文章
Vue3使用ref解決GetElementById為空的問題
今天遇到一個問題,就是在Vue3組件中需要獲取template中的元素節(jié)點,使用GetElementById返回的卻是null,網(wǎng)上查找了好些資料,才發(fā)需要使用ref,所以本文給大家介紹了Vue3組件中如何使用ref解決GetElementById為空的問題,需要的朋友可以參考下2023-12-12
vue-router啟用history模式下的開發(fā)及非根目錄部署方法
這篇文章主要介紹了vue-router啟用history模式下的開發(fā)及非根目錄部署方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12
詳解webpack + vue + node 打造單頁面(入門篇)
本篇文章主要介紹了詳解webpack + vue + node 打造單頁面(入門篇) ,非常具有實用價值,需要的朋友可以參考下2017-09-09
詳解從vue-loader源碼分析CSS Scoped的實現(xiàn)
這篇文章主要介紹了詳解從vue-loader源碼分析CSS Scoped的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09

