大图APP
大图APP
  • 发布:2019-12-13 23:57
  • 更新:2020-09-15 20:25
  • 阅读:1723

【报Bug】nvue 的<list>组件 @loadmore 上拉加载第二页 后再下拉刷新,结果 @loadmore事件就再也不会触发了

分类:nvue

详细问题描述

nvue 的<list>组件 @loadmore 事件 在上拉加载第二页 后再下拉刷新,刷新过后 @loadmore事件就再也不会触发了,
<list>组件 @loadmore绑定的事件主要是在请求 参数页数自增达到上拉加载更多效果
<refresh>组件 @refresh 绑定的事件 是重置请求参数,然偶再次发动请求获取数据 达到刷新页面数据的效果
本以为自己写的代码有问题,结果在插件市场提供的几个模板都有这个问题。
使用:插件市场的 新闻模板 vue + nvue 修复新版闪退问题 也有这个问题
https://ext.dcloud.net.cn/plugin?id=315#detail

重现步骤

[步骤]
上拉加载到第二页,然后回到页面顶部进行下拉刷新页面 @refresh
[结果]
@loadmore事件就再也不会触发了,也就是不会再上拉加载跟多了,
[期望]
可继续触发@loadmore事件
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

HBuilderX

[IDE版本号]
2.4.6.20191210
[windows版本号]
win7家庭版
[mac版本号]
没测试

uni-app运行环境说明

[运行端是h5或app或某个小程序?]

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]

[编译模式是老模板模式还是新的自定义组件模式?]

App运行环境说明

[Android版本号]

9.0
[iOS版本号]

[手机型号]

小米手机
[模拟器型号]

[QQ]
834023388

2019-12-13 23:57 负责人:DCloud_uniAD_HDX 分享
已邀请:
风云杭州

风云杭州

遇到同样的问题

风云杭州

风云杭州

直接用

<list>  
<refresh>  
</refresh>  
<cell>  
</cell>  
</list>

就没有你说的问题。
如果是官方提供的新闻模版则是有问题的。
但直接用这种方式,有个新问题是 刷新完成后,刷新没有隐藏掉

  • DCloud_uniAD_HDX

    更新HBuilderX 2.8.11+,已修复Android和ios下拉在某些情况下没有隐藏的问题

    2020-09-15 20:18

小答

小答

大哥,同样的问题,解决了没...

  • 今天回复我了吗

    官方模板copy 下来 玩玩看 应该木有这个问题

    2020-09-15 13:38

  • 小答

    回复 w***@163.com: 官方的同样有问题呀,同样的问题,多次下拉和上拉后,就不走loadmore上拉回调了

    2020-09-15 13:38

  • 小答

    回复 今天回复我了吗: 官方下拉时没有更新数据,如果下拉更新了数据,同样是loadmore回调不走,多次测试过了

    2020-09-15 13:39

DCloud_uniAD_HDX

DCloud_uniAD_HDX

举例说明下
第一次显示为10条,每次下拉增加10条,当第一次上拉触发loadmore事件,记录数据长度为10,数据被更新为20后,记录的仍然是10
开始下拉刷新,数据又被重置10,此时进行上拉加载操作,数据长度没有发生变化,所以没有再次触发loadmore,需要在下拉刷新后重置loadmore,this.$refs["list"].resetLoadmore();

参考文档 https://uniapp.dcloud.net.cn/component/list

  • 风云杭州

    <list>

    <refresh>

    </refresh>

    <cell>

    </cell>

    </list>

    直接这样调用,貌似并不会出现你说的这个问题

    2020-09-15 22:08

  • DCloud_uniAD_HDX

    回复 风云杭州: 数据不满一屏幕的时候会出现,建议更新HBuilderX

    2020-09-15 23:32

  • 小答

    回复 DCloud_uniAD_HDX: this.$refs["list"].resetLoadmore()这个方法若是在swiper for循环下的list使用,会报出:is a not function

    2020-09-15 23:51

  • DCloud_uniAD_HDX

    回复 小答: 只是举个例子,循环的时候改下ref的值

    2020-09-17 10:39

  • 小答

    回复 DCloud_uniAD_HDX: 都改了,每个ref的值都不一样的,resetLoadmore的时候也是那些ref,你们可以在官方的demo中测试,(官方的demo中下拉刷新没有更新值,更新一下就不行了,加上ref再resetLoadmore就是not function)

    2020-09-17 14:53

  • 守护

    回复 DCloud_uniAD_HDX: 我也遇到这个问题,请问如何解决?

    2020-10-11 01:22

  • 守护

    回复 DCloud_uniAD_HDX: resetLoadmore()这个方法若是在swiper for循环下的list使用,会报出:is a not function

    2020-10-11 03:59

该问题目前已经被锁定, 无法添加新回复