收藏
回答

scroll-view组件的refresher-triggered属性为falsei没用还是理解错?

.json:

"enablePullDownRefresh": false

.html:

<scroll-view refresher-triggered="{{bool}}"refresher-enabled="true" bindrefresherrefresh="herrefresh"><scroll-view>

.js:

herrefresh:function(){
  ..........
    this.setData({
     "bool":false
    })  
   }

然后 真机上一直是下拉刷新状态。

开发工具可以看到 bool的值是false,但不支持下拉刷新事件,找不到问题原因,

求解???

回答关注问题邀请回答
收藏

4 个回答

  • Admin ²º²⁴
    Admin ²º²⁴
    2020-03-10

    refresher-triggered为false时表示没有触发下拉刷新事件,此时应为等待触发下拉刷新事件中的状态,就是你说的下拉刷新状态。refresher-triggered为true时触发bindrefresherrefresh事件(正式开始执行下拉刷新操作)

    建议参考样板代码:

    https://developers.weixin.qq.com/s/hGFhMum67de0

    2020-03-10
    有用 3
    回复 8
    • 保山
      保山
      2020-04-12
      非常感谢,困扰我好几个小时,终于参照官方代码解决了。原来是需要添加一个flag,不然会一直触发bindrefresherrefresh事件,从而下拉刷新后不回填
      2020-04-12
      回复
    • Admin ²º²⁴
      Admin ²º²⁴
      2020-04-12回复保山
      不客气,有用就好
      2020-04-12
      回复
    • 小樊
      小樊
      2020-04-24回复保山
      我还是有点懵,可以详细步骤告知我吗?我也是下拉刷新后无法回弹上去
      2020-04-24
      回复
    • 保山
      保山
      2020-04-24回复小樊
      参考链接:https://developers.weixin.qq.com/community/develop/doc/0000226ab349b831770a7b47e51400
      原因:scroll-view组件的refresherTriggered属性为true时会触发onRefresherRefresh事件,这里就不停的循环展示loading了,所以需要添加一个flag,可参考官方代码实现https://developers.weixin.qq.com/s/hGFhMum67de0
      2020-04-24
      1
      回复
    • 小樊
      小樊
      2020-04-24回复保山
      非常感谢,浪费一个下午到处搜百度都没有一个正确解释
      2020-04-24
      回复
    查看更多(3)
  • 马特:啊对对对
    马特:啊对对对
    07-15
    `ScrollView 是非受控组件,你需要在 onRefresherRefresh 时首先将 loading 状态设置为 true,待你的骚操作完成后再将 loading 状态设置为 false。`
    
    07-15
    有用
    回复
  • 豪
    2022-06-27



    为啥还是不生效呢

    2022-06-27
    有用
    回复
  • 静凡
    静凡
    2021-05-19

    是否可以等数据更新完毕,将triggered更改为false跳出刷新,在onRestore的时候改为true为下次刷新做准备

    2021-05-19
    有用
    回复
登录 后发表内容
问题标签