退役熬夜选手
退役熬夜选手
  • 发布:2019-09-30 15:31
  • 更新:2020-06-01 17:02
  • 阅读:2092

uniapp的scroll-view中的scrolltolower事件偶尔不执行

分类:uni-app
<swiper class="swiper-box" :current="tabIndex" :duration="300" @change="ontabchange" style="height: calc(100vh - 80upx);">  
   <swiper-item v-for="(tab,index1) in list" :key="index1">  
    <scroll-view scroll-y="true" class="list" @scrolltolower="loadMore" style="height:100%">  
            <view>  
                    ..............  
             </view>  
        </scroll-view>  
</swiper-item >  
</swiper>

scrolltolower事件偶尔不触发,页面已经上拉到最底部了,然后一直上拉滑动(这时页面已经处于最底部),这个事件一直不触发,只是偶尔会发生。
在一直上拉不触发的情况下,把页面往下拉滑动一点点,这个事件就触发了

2019-09-30 15:31 负责人:无 分享
已邀请:
富婆

富婆

你是不是loadMore的时候加了loading判断,阻断了触发,这个时候拿来判断触底的值一直没有发生变化,所以没法触发loadMore事件,你上滑了一点再下滑触底判断的值发生变化了,同时你上个请求结束loading状态解除了,所以又可以触发了。核心我觉得是触底判断的那个值的问题,目前我猜是监控它变化然后触发事件的类似watch,你触底后不滑动值不发生变化。如果能加个如果触底值保持为0则每隔n秒自动触发一次触底绑定事件就应该能解决了。

568829266@qq.com

568829266@qq.com - 前端小白

我也遇到这个问题了,你这里解决了吗

风云杭州

风云杭州 - 请加微信18616792121,拉你进uniapp学习交流群,加的时候请备注uniapp

是不是先上拉加载 ,然后下拉刷新,然后再上拉加载,scrolltolower事件就不触发了?

  • 退役熬夜选手 (作者)

    对对 你也是这个问题吗?

    2020-03-26 11:38

  • 风云杭州

    回复 退役熬夜选手: 是的,这应该是个bug,因为官方提供的news 的例子也有这个问题存在,我在社区里跟官方反应这个bug了。不过没人回复。它并不是没有规律,它是可以重现的一个bug.就是先上拉加载一次,然后下拉刷新,然后就有问题了。如果先上拉加载2次或更多次,则不会有这个问题。这个问题真的也是蛮奇怪的

    2020-03-26 17:04

  • 退役熬夜选手 (作者)

    回复 风云杭州: 嗯嗯 我也在官方群里反应过 也没有人回复 目前我也找不到什么解决办法

    2020-03-27 11:18

  • 风云杭州

    回复 退役熬夜选手: 我看插件市场里有个用 vue开发的新闻系统是没有这个加载问题的。考虑以它为案例来重写自己的前端,从而来解决这个问题

    2020-03-29 18:40

风云杭州

风云杭州 - 请加微信18616792121,拉你进uniapp学习交流群,加的时候请备注uniapp

用 scroll-view 代替 uni-list ,加载有时候不触发的问题就解决了。大家可以试试

  • 退役熬夜选手 (作者)

    嗯?方便具体说一下是哪块吗?

    2020-03-31 12:07

  • 许11

    请问能具体说一下吗?我也遇到这个问题了

    2020-05-25 11:28

  • 风云杭州

    又遇到新问题,用scroll-view来实现长列表会有性能问题,头疼啊

    2020-05-25 15:20

NidhoggDLender

NidhoggDLender - I am Joking

scroll-view 里 加上 style="height: 100%;" 试试

DCloud_UNI_WYQ

DCloud_UNI_WYQ

nvue页面还是vue页面,整理一个demo出来看下

要回复问题请先登录注册