微信小程序中,平常获取列表的分页数据时,会把当前页数据和之前的数据通过concat方法做个拼接,再使用setData方法更新数据。当数据量较大时,会超过setData单次设置量1024kb的限制,进而导致页面不渲染
解决思路:
使用二维数组,即先声明一个空数组,列表第n页的数据就是此数组的第n-1项。页面渲染数据也要改成两次循环
页面效果图:
js代码
let indexNum = _that.data.searchData.page - 1
_that.setData({
['checkboxItems[' + indexNum + ']']:res.data
})
注释:
indexNum:获取的当前数据是二维数组的第几项(因为分页是从1开始,而数组下标是从0开始)
checkboxItems:页面渲染的数组
res.data:接口返回的当前页数据
wxml代码
<view wx:for="{
{checkboxItems}}" wx:for-item="item" wx:key="index">
<mp-cells ext-class="cellsBox" title="">