微信小程序页面更新数据是通过setData实现的,通常有很多列表数据的页面(应用场景),比如在一个购物车列表页面,可以添加/减少商品数量,可以删除一个商品......如果每增加一个商品数量就全局刷新整个列表,其实是没有这个必要的,使用局部刷新就可以帮助提高性能。
let num = this.data.serviceList[index].services[pos].count;
this.setData({
["serviceList[" + index + "].services[" + pos + "].count"]: num + 1
})
比如说上拉加载更多,请求到数据后要添加到数组中,局部刷新的实现方式为:
let param= {pageIndex: this.data.pageIndex};
var that = this;
app.HttpClient.request(url, param, function(res){
let list = res.data;
let index = that.data.serviceList.length;
let data = that.data;
list.forEach((item)=>{
data['serviceList[' + (index++) + ']'] = item;
});
that.setData(data);
})