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 相关文章推荐
addEventListener和attachEvent二者绑定的执行函数中的this不相同
Dec 09 Javascript
基于jQuery实现自动轮播旋转木马特效
Nov 02 Javascript
学习JavaScript设计模式(策略模式)
Nov 26 Javascript
Bootstrap Modal遮罩弹出层代码分享
Nov 21 Javascript
使用BootStrap实现悬浮窗口的效果
Dec 13 Javascript
微信小程序  http请求封装详解及实例代码
Feb 15 Javascript
关于meta viewport中target-densitydpi属性详解(推荐)
Aug 18 Javascript
通过vue手动封装on、emit、off的代码详解
May 29 Javascript
Vue项目中使用WebUploader实现文件上传的方法
Jul 21 Javascript
js实现页面导航层级指示效果
Aug 25 Javascript
Electron+vue从零开始打造一个本地播放器的方法示例
Oct 27 Javascript
vue element-ui中table合计指定列求和实例
Nov 02 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正则提取或替换img标记属性
2013/06/26 PHP
PHP实现的连贯操作、链式操作实例
2014/07/08 PHP
php 使用array函数实现分页
2015/02/13 PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
2017/02/08 PHP
PHP实现搜索时记住状态的方法示例
2018/05/11 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
2020/01/26 PHP
node.js中的buffer.fill方法使用说明
2014/12/14 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
2014/12/18 Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
2016/03/05 Javascript
js 获取经纬度的实现方法
2016/06/20 Javascript
Bootstrap的fileinput插件实现多文件上传的方法
2016/09/05 Javascript
js实现日历与定时器
2017/02/22 Javascript
jQuery Pagination分页插件使用方法详解
2017/02/28 Javascript
jQuery插件HighCharts绘制2D饼图效果示例【附demo源码下载】
2017/03/21 jQuery
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
webpack打包react项目的实现方法
2018/06/21 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】
2018/12/13 Javascript
vue获取时间戳转换为日期格式代码实例
2019/04/17 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
Python2.x中str与unicode相关问题的解决方法
2015/03/30 Python
详细解读Python的web.py框架下的application.py模块
2015/05/02 Python
详解Python的Django框架中manage命令的使用与扩展
2016/04/11 Python
Python中取整的几种方法小结
2017/01/06 Python
Python爬取十篇新闻统计TF-IDF
2018/01/03 Python
scrapy spider的几种爬取方式实例代码
2018/01/25 Python
pandas求两个表格不相交的集合方法
2018/12/08 Python
对python requests发送json格式数据的实例详解
2018/12/19 Python
python 实现在tkinter中动态显示label图片的方法
2019/06/13 Python
python如何以表格形式打印输出的方法示例
2019/06/21 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
2019/12/18 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
2020/07/07 Python
Python利用socket模块开发简单的端口扫描工具的实现
2021/01/27 Python
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
苏州园林导游词
2015/02/03 职场文书
选择比努力更重要?这是长期以来对“努力”的最大误解
2019/07/12 职场文书
Alexa停服!网站排名将何去何从?目前还没有替代品。
2022/04/15 杂记