退役熬夜选手
退役熬夜选手
  • 发布:2019-09-30 15:31
  • 更新:2024-05-16 11:19
  • 阅读:7416

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秒自动触发一次触底绑定事件就应该能解决了。

梦尋Junjie

梦尋Junjie - 原来她有男朋友

我也遇见这个问题了 这个问题只能说是他们封装的代码有问题, 我就因为这个问题被老板批了好几次, 就说是 滑动到底部, 偶尔有一次不会触发, 必须要往上滑动一下才会触发 , 但是我都往上滑了 触发还有什么意义

5***@qq.com

5***@qq.com

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

风云杭州

风云杭州

是不是先上拉加载 ,然后下拉刷新,然后再上拉加载,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

风云杭州

风云杭州

用 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_uniCloud_WYQ

DCloud_uniCloud_WYQ

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

lee0508

lee0508

同遇到,,,解决了吗???

梦尋Junjie

梦尋Junjie - 原来她有男朋友

自己重写 scroll-view 就解决了, 反正我是已经被老板骂过很多次了 ,重写 这个 scroll-view 差不多花了我一天半, 重写里面坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑 还是有亿点点多, 不过还是解决 ε=(´ο`*)))唉

3***@qq.com

3***@qq.com

已解决,官方的@scrolltolower 应该是必须滚动触发,把内容高度操过scroll-view高度就行,
如:

<scroll-view scroll-y="true" @scrolltolower="goDown()">
<view v-cloak class="scroll-centent">
</view>
</scroll-view>
.scroll-centent{
min-height: calc(100% + 100rpx);
}

r***@163.com

r***@163.com

有个新的方法,不改变样式,通过代码逻辑去判断控制,防止用户滑动不了,以下
https://blog.csdn.net/weixin_39579031/article/details/138925580

要回复问题请先登录注册