收藏
回答

分页使用concat连接后,为什么不能刷新数据?

 const db = wx.cloud.database()
      db.collection("book_list")
        .where({
          tag: options.id
        })
        .skip(skip)
        .get({
          success: res => {
            this.skip +=20
          this.data.list = this.data.list.concat(res.data)
            this.setData({
              list : this.data.list,
              sort: options.id,
            })
            console.log('借阅情况',res.data[0].borrow)
          },
          fail: err => {
            console.log(err)
          }
        })

使用contact连接分页后,改变数据了(点击跳转到另一个页面改变数据)使用onshow不能更新数据,使用下拉刷新也不可以(可以分页,不能更新被改数据)。如果不用contact会改变显示数据,但分页要用到contact,想问问怎么样才能分页下拉刷新更新数据。

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

3 个回答

  • 神经蛙
    神经蛙
    2020-06-22

    应该是this的指向问题吧

    2020-06-22
    有用 1
    回复 10
    •         
              
      2020-06-22
      不好意思复制错了,可以帮我再看一下吗
      2020-06-22
      回复
    • 神经蛙
      神经蛙
      2020-06-22回复        
      在data里定义list为空数组了吗?
      2020-06-22
      回复
    • 神经蛙
      神经蛙
      2020-06-22回复        
      contact是连接两个数组,如果没定义list的话,this.data.list.concat(res.data)是连接不起来的
      2020-06-22
      回复
    •         
              
      2020-06-22
      是的data定义了list:[]
      2020-06-22
      回复
    •         
              
      2020-06-22
      数据都可以连接起来,就是更新数组里面数据,不能刷新新的数据需要重新打开才行
      2020-06-22
      回复
    查看更多(5)
  • Admin ²º²³
    Admin ²º²³
    2020-06-22

    目测这段代码应该会报错xxx is undefined吧

    this应该是that


    2020-06-22
    有用
    回复 1
    •         
              
      2020-06-22
      不好意思复制错了,可以帮我再看一下吗
      2020-06-22
      回复
  • 清风
    清风
    2020-06-22

    contact之后需要setData数组

    2020-06-22
    有用
    回复 1
    •         
              
      2020-06-22
      不好意思复制错了,可以帮我再看一下吗
      2020-06-22
      回复
登录 后发表内容
问题标签