收藏
回答

最新文档scrollview下拉刷新问题,下拉后不能自动复位?

引用了官方的自定义刷新配置

页面触发了bindrefresherrefresh方法,自己的程序也请求完数据了,但页面一直停在刷新的状态

如何让其自动复原

最后一次编辑于  2020-02-23
回答关注问题邀请回答
收藏

6 个回答

  • 制程_赵永_13918704268(行者)
    制程_赵永_13918704268(行者)
    2020-12-19

    scroll view 关于上下拉刷新在升级过程中有不少问题。文档也写的比较糟糕。甚至里面介绍了下拉功能,下面tip又说明要用page的下拉刷新代替,scrollview不能复位之类(文档很烂一直是难受点),目前最新版本下拉自带可以,上拉要自己写。代码供参考:

    WXML


    <scroll-view class="G_SC_V" 

       style="height:{{mHeight}}px"

       lower-threshold="100"  

      refresher-threshold='50'

        refresher-enabled='true'

        refresher-triggered ="{{isMoveToUp}}" 

        bindrefresherrefresh ="bindLoadingNew" 

        bindscrolltolower="bindLoadingMore" 

        enable-flex='true' 

        scroll-y="true" 

     >


    .....上拉控件(下拉控件不要写,refresher-enabled='true'设成true系统自带。)


    <view wx:if='{{isMoveToDown}}'>

         <view class="weui-loading__wrp">

              <view class="loading wx_dot_loading"></view>

          </view>

    </view>


    JS:

      bindLoadingMore()

      {

        console.log('滑到底了,开始加载更多');

            var that = this;                     //setTimeout里会用到,

            that.setData({                       //MoveToDow触发

              isMoveToDown: true

            })

            setTimeout(function() {              //MoveToDow 时间限制


                that.setData({

                  isMoveToDown: false,


                })

            }, 1500)

       

      },


      bindLoadingNew()

      {

        console.log('滑到顶了,开始加载更多');

        var that = this;                     //setTimeout里会用到,

        that.setData({                       //MoveToUp触发

          isMoveToUp: true

        })

        setTimeout(function() {              //时间限制

            that.setData({

              isMoveToUp:false

            })

        }, 1500)


      }

    2020-12-19
    有用 2
    回复
  • Aha王小津
    Aha王小津
    2021-11-16

    我也遇到了这个问题。

    原因应该就是这个:下拉的时候没有自动把 refresher-triggered设置成true,当查询完成后setData({'refresher-triggered': false })的时候, 数据没有发生变化,并不会更新视图。

    解决方法:可以在查询之前手动把refresher-triggered设置true,查询完成后在设置成false。

    2021-11-16
    有用 1
    回复
  • hytang
    hytang
    2020-03-04

    你遇到的应该是跟我一样的问题, setData的时候, 数据必须发生变化, 才会更新视图, onRefresh 的时候可以先将 triggered 设为 true , 等后台数据返回后再 设为 false

    2020-03-04
    有用 1
    回复
  • {}
    {}
    2020-03-01
    refresher-triggered
    

    用这个做数据绑定, true 和 false 来设置当前刷新状态是否为触发状态...官方文档有例子的



    2020-03-01
    有用
    回复 4
    • 严骏(Sam)🐍
      严骏(Sam)🐍
      2020-03-02
      尝试过了,not work
      2020-03-02
      1
      回复
    • {}
      {}
      2020-03-02回复严骏(Sam)🐍
      我的正常, 官方案例下载下来 看一遍
      2020-03-02
      回复
    • Lemon
      Lemon
      2020-05-22
      我也遇到了同样的问题。按照官方的示例改的,但是没有效果
      2020-05-22
      回复
    • ?
      2021-10-25
      这个真没用 我下载的例子看了 js里边也写的什么 triggered :false 刷新状态还是在 是我理解错了?
      2021-10-25
      回复
  • 是小白啊
    是小白啊
    2020-02-23

    看下相关的属性:https://developers.weixin.qq.com/miniprogram/dev/component/scroll-view.html

    2020-02-23
    有用
    回复 3
    • 严骏(Sam)🐍
      严骏(Sam)🐍
      2020-02-23
      我就看的这个文档,现在不清楚如何代码级别触发复位
      2020-02-23
      回复
    • 玮儿
      玮儿
      2020-04-10回复严骏(Sam)🐍
      将refresher-triggered这个值在接口请求完后变为false就会复位,刚刚试验出来的
      2020-04-10
      2
      回复
    • I
      I
      2020-05-10
      文档写的不明不白就算了,但明明是用refresher-triggered  官方回复随意截这么个图不是又误导人家嘛 这四个试一遍又没效 
      为了勉励你 点个反对 下次认真点
      2020-05-10
      3
      回复
  • 子不语
    子不语
    2020-02-23

    都说了是自定义了,那也没有自动复位了啊

    --↓↓👍如果觉得有帮助的话请点个【赞】吧(我的小尾巴又肥来啦!)

    2020-02-23
    有用
    回复 6
    查看更多(1)
登录 后发表内容
问题标签