最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

vue better scroll 无法滚动的解决方法

来源:懂视网 责编:小采 时间:2020-11-27 22:13:33
文档

vue better scroll 无法滚动的解决方法

vue better scroll 无法滚动的解决方法:使用vue+better scroll 今天实现切换用户后查询用户订单列表的一个功能,在实例化betterscroll时,因为有的用户没有订单,切换用户后会出现订单列表无法滚动的问题。先放代码: <!-- 订单列表 --> <div id=order-list
推荐度:
导读vue better scroll 无法滚动的解决方法:使用vue+better scroll 今天实现切换用户后查询用户订单列表的一个功能,在实例化betterscroll时,因为有的用户没有订单,切换用户后会出现订单列表无法滚动的问题。先放代码: <!-- 订单列表 --> <div id=order-list

使用vue+better scroll

今天实现切换用户后查询用户订单列表的一个功能,在实例化betterscroll时,因为有的用户没有订单,切换用户后会出现订单列表无法滚动的问题。先放代码:

<!-- 订单列表 -->
<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的整倍数条订单的情况
 this.orderSize += 10;
 this.resentOrders();
 return;
 } else {
 Toast("没有更多了")
 }
 })
},

找了半天原因,最后发现应该这样:

<!-- 订单列表 -->
<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层,如果不加是无法滚动的

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

vue better scroll 无法滚动的解决方法

vue better scroll 无法滚动的解决方法:使用vue+better scroll 今天实现切换用户后查询用户订单列表的一个功能,在实例化betterscroll时,因为有的用户没有订单,切换用户后会出现订单列表无法滚动的问题。先放代码: <!-- 订单列表 --> <div id=order-list
推荐度:
标签: VUE 解决方法 scroll
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top