收藏
回答

scroll-view下拉刷新暴力使用后无法复位?

wxml

<scroll-view 
  scroll-y 
  style="width: 100%; height: 100vh;" 
  refresher-enabled="{{true}}" 
  refresher-threshold="{{100}}" 
  refresher-triggered="{{triggered}}" 
  bindrefresherpulling="onPulling" 
  bindrefresherrefresh="onRefresh" 
  bindrefresherrestore="onRestore" 
  bindrefresherabort="onAbort">
  <view wx:for="{{arr}}" style="display: flex; height: 100px; background-color: #eee;">
  </view>
</scroll-view>


js

Page({
  data: {
    arr: [],
    triggered: false,
  },
  onReady: function () {
    const arr = []
    for (let i = 0; i < 2; i++) arr.push(i)
    this.setData({
      arr
    })


    setTimeout(() => {
      this.setData({
        triggered: true,
      })
    }, 1000)
  },


  onPulling(e) {
    console.log(this.data.triggered);
  },


  onRefresh() {
    if (this._freshing) return
    this._freshing = true
    setTimeout(() => {
      this.setData({
        triggered: false,
      })
      this._freshing = false
    }, 300)
  },


  onRestore(e) {
    console.log(this.data.triggered);
  },


  onAbort(e) {
    console.log(this.data.triggered);
  },
})


官方scroll-view的例子,只是把列表的数据减少到不足一屏的数据就会产生这个问题

如上gif 动画

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

1 个回答

登录 后发表内容