数组setData问题
发布于 6 年前 作者 fcheng 1167 次浏览 来自 问答

Page({ 

data: { 

arrData: [ ] 

}

})

每次请求数据都是10条,如 [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

方法1、直接覆盖原数据

var array = this.data.arrData;

[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] .forEach( obj => {

   array.push(obj);

})

this.setData({

  arrData: array

})

疑问是,如果数据越来越多,那么刷新一次需要消耗的时间不是越来越多?

方法2、局部刷新10条

var length = this.data.arrData.length;

[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] .forEach( ( obj, i ) => {

this.setData({

  [ `arrData${ i + length }` ]: obj

})

})

疑问是,每次刷新都要调n次setData,会不会有性能问题

上面2种刷新方法是否可行,还是说有更好的刷新方法,求解

2 回复

那你这样,写个集合存起来,比如userList,每次请求完后往userList添加数据,就可以只一次setData({userList:userList}),这样怎么样

n=10 明显选第二种方式更好。

回到顶部