9***@qq.com
9***@qq.com
  • 发布:2023-12-19 09:52
  • 更新:2023-12-19 16:43
  • 阅读:132

NVUE 内的list,在安卓加载数据正常,在iOS加载数据异常。

分类:nvue

场景是上拉加载的反向版本,下拉加载,数据加载在上面
先渲染10个数据以后。在这10个数据之前再插入10个数据。
ios的表现是加载了十个数据以后,自动滚动到这新的10个数据的位置(会有一个闪动的效果)
安卓的表现是 加载了十个数据以后,滚动内容变长,位置不变。

2023-12-19 09:52 负责人:无 分享
已邀请:
DCloud_UNI_HRK

DCloud_UNI_HRK

请问你是通过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 (作者)

    感谢回复,我现在去写一个最简化的demo

    2023-12-19 16:08

9***@qq.com

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低于一定数值以后去刷新。

  • DCloud_UNI_HRK

    我是通过刷新事件来模拟你说的下拉加载的,你这个部分代码提供的信息还不够完整,等你提供完整的DEMO我再负责跟进

    2023-12-21 16:49

要回复问题请先登录注册