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


Posted in Javascript onJune 07, 2018

使用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层,如果不加是无法滚动的

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript js cookie的存储,获取和删除
Dec 29 Javascript
jquery动画4.升级版遮罩效果的图片走廊--带自动运行效果
Aug 24 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
Aug 06 Javascript
javascript实现获取cookie过期时间的变通方法
Aug 14 Javascript
node.js中的events.EventEmitter.listenerCount方法使用说明
Dec 08 Javascript
js实现图片上传并正常显示
Dec 19 Javascript
js获取一组日期中最近连续的天数
May 25 Javascript
Angular 4依赖注入学习教程之组件服务注入(二)
Jun 04 Javascript
jQuery复合事件用法示例
Jun 10 jQuery
VSCode 配置React Native开发环境的方法
Dec 27 Javascript
webpack 4.0.0-beta.0版本新特性介绍
Feb 10 Javascript
小程序兼容安卓和IOS数据处理问题及坑
Sep 18 Javascript
vue translate peoject实现在线翻译功能【新手必看】
Jun 07 #Javascript
JavaScript 正则命名分组【推荐】
Jun 07 #Javascript
详解create-react-app 自定义 eslint 配置
Jun 07 #Javascript
vue.js实现标签页切换效果
Jun 07 #Javascript
js数组去重的N种方法(小结)
Jun 07 #Javascript
vue+axios新手实践实现登陆的示例代码
Jun 06 #Javascript
vue2.0实现音乐/视频播放进度条组件
Jun 06 #Javascript
You might like
PHP中显示格式化的用户输入
2006/10/09 PHP
php中取得文件的后缀名?
2012/02/20 PHP
解析PHP高效率写法(详解原因)
2013/06/20 PHP
Php output buffering缓存及程序缓存深入解析
2013/07/15 PHP
php小技巧之过滤ascii控制字符
2014/05/14 PHP
自编函数解决pathinfo()函数处理中文问题
2014/11/03 PHP
php将字符串随机分割成不同长度数组的方法
2015/06/01 PHP
PHP面向对象程序设计实例分析
2016/01/26 PHP
大家未必知道的Js技巧收藏
2008/04/07 Javascript
JavaScript中获取未知对象属性的代码
2011/04/27 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
JavaScript删除数组元素的方法
2015/03/20 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
2017/05/22 Javascript
js模拟百度模糊搜索的实例
2017/08/04 Javascript
JavaScript实现简单进度条效果
2020/03/25 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
Python实现新浪博客备份的方法
2016/04/27 Python
Python实现PS滤镜的万花筒效果示例
2018/01/23 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
python实现画一颗树和一片森林
2018/06/25 Python
Python处理session的方法整理
2019/08/29 Python
Python中的Cookie模块如何使用
2020/06/04 Python
Python利用imshow制作自定义渐变填充柱状图(colorbar)
2020/12/10 Python
html5如何及时更新缓存文件(js、css或图片)
2013/06/24 HTML / CSS
英国买鞋网站:Charles Clinkard
2019/11/14 全球购物
5个HTML5的常用本地存储方式详解与介绍
2021/03/27 HTML / CSS
公司庆典活动邀请函
2014/01/09 职场文书
上班上网检讨书
2014/01/29 职场文书
秋季校运动会广播稿
2014/02/23 职场文书
单位工程竣工验收方案
2014/03/16 职场文书
中学生寄语大全
2014/04/03 职场文书
旅游安全协议书
2014/04/21 职场文书
法定代表人授权委托书格式
2014/10/14 职场文书
Keras在mnist上的CNN实践,并且自定义loss函数曲线图操作
2021/05/25 Python
Python socket如何解析HTTP请求内容
2022/02/12 Python
拙作再改《我的收音机情缘》
2022/04/05 无线电