如何在数组第一个元素追加数据
发布于 5 年前 作者 wei32 5346 次浏览 来自 问答

下拉加载新数据,如何把请求到的新数据追加到数组的前面

目前想到的办法是在数组使用splice,在前面追加后好后再一起setData,有没有更高效的办法处理

4 回复

首次setData的数组用reverse颠倒过来

后面追加数据正常加到数组后面(this.setData({[`arr[this.data.arr.length]`]:item}))

通过WXSS   display:flex;flex-direction:column-reverse;  在视图层颠倒回来。

每次追加的数据不止一条的话,就用二维数组,总之就是逻辑层颠倒数组,视图层再颠倒显示


let a =[1,2,3,4]
let b = [23,2,456,456]
let c = [...a,...b]
console.log(c)
let a =[1,2,3,4]
let b = [23,2,456,456]
let d = b.concat(a)

用虚拟表格列表原理。 内存里存所有的数据,通过当前屏的起始位置的索引+一屏可以显示几条数据,获取显示数据, 把显示的数据setData给UI更新。上下拉滚动 动态计算起始位置,更新显示数据就可以。 一屏也就能放最多20条左右数据, 每次setdata 20条数据, 比你每次都把所有数据set进去要快很多。

没有其他方法

一般下拉是刷新整个页面

回到顶部