better-scroll

使用better-scroll时,如何子元素高度不超过父元素,无法滚动。
那么在上拉加载时,第一次获取5条数据。此时,不同设备高度不同,有些设备超出高度,可以上拉,但有些比如iphonex,没有超过高度,无法上拉,有没有什么办法解决?

阅读 2.1k
2 个回答

可以通过将wrapper的高度和content的高度着对比,如果content高度小于等于wrapper的高度,就直接强制修改 this.scroll.hasVerticalScroll = true
添加以下函数:

// 判断当content高度小于wrapper高度时设置可以下拉
_verticalScroll(){
    if (this.scroll.scrollerHeight >= this.scroll.wrapper.firstChild.clientHeight) {
        this.scroll.hasVerticalScroll = true;
    }
}
// 在初始化和refresh()之后执行一下这个函数
思路变下解决方法还是可以有很多的
  • 业务放没有准确条目的话,每页数目缓存10-20应该是更加合理的容器这时足够高的
  • 很久没用better-scroll之前封装好的,api不知道有没有参数是迫使首次加载撑满首屏高的,vue-scroll是有的,实在没有问题也不是很大, 自己封装一层,首次加载的时候判断下高度是否大于等于scroll容器的高度,如果不够就接着加载下一页就行
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题