- 需求的场景描述(希望解决的问题)
现在页面有数据如下:
list:[{0},{1},{2},{3}]
往下拉滚动加载到历史数据如下:
history:[{4},{5},{6},{7}]
需求:
将history拼接到list前面,并且局部刷新(避免由于数据量大,影响渲染性能)
list:[{4},{5},{6},{7},{0},{1},{2},{3}]
- 希望提供的能力
查过api文档,setData目前只能更新某个item或者在尾部增加app数据。
所以,希望能实现数组顶部插入数据。
框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|
小程序 | 需求 | setData | 客户端 | 6.5.3 | 2.4.0 |
5 个回答
这样就OK了
这个问题如何解决的?
写一块隐藏view模块。里面的数据动态加载。然后上拉一屏后把 里面的数据 放到第二个view里,第一个view显示。
呃,抱歉,我还是不太理解你的意思,我梳理了下,是说加个隐藏的view1,负责接收数据,然后上拉之后 ,把view1里的数据放到view2,接着,view1显示?
那再拉一下,然后?
重复 往view1里塞新数据然后老的view1数据往view2 unshift
明白了,可能我没描述清楚问题,其实我这需求可以理解为聊天里的查看历史聊天消息,然后按照兄弟你这思路,unshift完之后 页面刷新还是要通过setData刷新整个list的吧
是刷新 view2的数据。但是view1是新push进去的。
大佬有空的话能否简单写个demo看看哩?【懵逼.jpg】
你这是懒加载的需求?
是的,然后?
你说的是这个吗?
拼接是没问题啦,unshift或者concat都可以,但是用这种方式话,你得刷新整个list吧,我想要的是只刷新局部
目前做不到...
那,或者还有别的思路吗..【哭笑不得.jpg】
setData改变的数据都会重新渲染吧?目前也用到这块,老兄你找到方案没?