小程序 下拉加载数据量大解决方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小程序 下拉加载数据量大解决方法相关的知识,希望对你有一定的参考价值。

参考技术A 一般来说,小程序下拉加载数据,用合并数组的方式(concat)然后再setData新的数组,这种方式只是试用数据量小的时候,为什么这么说,因为小程序的setData有一个限制,每次setData数据不能超过1024kb,大家可以想象一下,如果用concat合并产生新数组,并保存新数组为下一次加载的原数组,那么数量大的时候肯定会出现数据的大小超过1024KB的限制,那么这种问题该怎么解决呢,说解决方法的时候先了解下小程序渲染的过程

这可以这样理解小程序已经把数据和视图绑定了起来,众所周知vue是数据双向绑定的,数据改变,视图也会相应的改变,而上面的那段话是不是可以理解为小程序也是双向绑定的,

在vue里修改数据可以写 this.a = b

小程序里修改数据需要  this.setData("key":value)

那我们是不是可以这样理解在小程序修改数据的时候只是调用setData方法修改了定义中的变量,

跟vue中this.a = b 是一样的性质而只是写法不一样

明白了,这一点,说解决方法。。。

上面说了数据量大的时候不能用concat的原因,那我们这时候该怎么解决,只是我们可以想,既然数据和视图绑定在一起了,我们是不是可以用一个二维数组解决这个问题

大概思路是这样的

1,在data里定义一个空数组,

2,获取下拉数据

3,把获取的数组,this.setData上面定义的数组

例如this.setData(

    [`arr[$b]`]:res.data

)

这样就避免了setData数据过大而不报错的问题。

这时候数组发生了改变视图也会相应的改变,不过这样可能会出现一个问题,如果加载数据过多的时候视图会出现渲染层失败,

以上是关于小程序 下拉加载数据量大解决方法的主要内容,如果未能解决你的问题,请参考以下文章

小程序上拉下拉共存时不可使用scroll-view的解决方法

使用easyUI中的datagrid加载数据,需要对下拉列表进行回显,目前尚无解决方法,急求java大神,在线等!高分!

微信小程序下拉加载与上拉刷新

MUI下拉加载安卓手机无效的解决方法

微信小程序上拉加载和下拉刷新(wepy)

小程序-解决体验版只能打开调试工具才能加载数据(请求接口)问题