微信小程序-上拉加载更多数据+在数组后增加新数组+setData动态赋值

  • 上拉赋值:

首先,上拉赋值不用在json中进行配置,直接在js中添加onReachBottom函数即可。

onReachBottom函数中要获取数据用于显示。本例中的数据是页面初次加载时获取数据后,改变page参数的值,然后再次从后台获取数据增添到原有数据。

 1 onReachBottom: function(){
 2   //从后端获取数据
 3   var that = this     
 4   var options = that.data.options
 5   var listid = options.listid 
 6   var url = options.url 
 7   var page = that.data.page+1
 8   that.setData({
 9      page:page 
10   }) 
11   //显示加载弹窗 
12   wx.showLoading({
13       title:'加载中',  
14   })   
15   wx.request({
16     url:url,
17     data:{
18     listid:listid,
19     page:page,
20     }
21     success:function(res){
22       that.setData({
23          lists: that.data.lists.concat(res.lists),
24       })
25      //隐藏加载弹窗
26       wx.hideLoading();
27     }
28   })    
29 }
  • 使用setData动态改变数值:

官方使用样例为:

this.setData({
  'array[0].text':'change data'
})

即只能赋值一个静态值。解决方法如下:

1 var page = that.data.page+1
2 that.setData({
3    page:page 
4 }) 
  • 在数组中增加数组元素:

push将新数组作为一个元素加入到数组中。

concat将新数组的每个元素拆分出来单独加到数组当中。

使用concat解决两个数组的拼接:

1 that.setData({
2   lists: that.data.lists.concat(res.lists),
3 })

猜你喜欢

转载自www.cnblogs.com/cff2121/p/9719798.html