场景是上拉加载的反向版本,下拉加载,数据加载在上面
先渲染10个数据以后。在这10个数据之前再插入10个数据。
ios的表现是加载了十个数据以后,自动滚动到这新的10个数据的位置(会有一个闪动的效果)
安卓的表现是 加载了十个数据以后,滚动内容变长,位置不变。
9***@qq.com
- 发布:2023-12-19 09:52
- 更新:2023-12-19 16:43
- 阅读:238
请问你是通过refresh来实现上拉加载的吗?我在ios与安卓测试了一下都是自动滚动到新的数据的位置,能否提供一下问题工程?
data() {
return {
lists: [{
id: "1",
name: 'A'
}, {
id: "2",
name: 'B'
}, {
id: "3",
name: 'C'
}],
refreshing: false,
loadingText: '加载中',
}
},
...
onrefresh() {
console.log("上拉添加10个数据");
this.refreshing = false;
const addArr = [{
id: "4",
name: 'D'
}, {
id: "5",
name: 'E'
}, {
id: "6",
name: 'F'
}]
this.lists.unshift(...addArr);
this.loadingText = "已加载";
},
9***@qq.com (作者) - 前端萌新
我也是用的unshift去加载新的数据,话说这里的onrefresh是监听的list 的吗?我还在写完整的demo,不过我的部分代码是这样的
<list :offset-accuracy="20" @scroll="scroll">
<cell v-for="(item,index) in dataSize" :key="index">
<view style="width:750rpx;height: 50rpx;background-color: aquamarine; margin-bottom: 50rpx;">
{{index}}
</view>
</cell>
</list>
我使用的刷新的方式是 在scroll中监听到滚动的offset低于一定数值以后去刷新。
9***@qq.com (作者)
感谢回复,我现在去写一个最简化的demo
2023-12-19 16:08