页面下拉,数据重复

1.结果
排序字段有问题,经常被相关用户更新,导致排序异常,更换排序字段(不经常变化值的那种 比如创建时间)
2.排查过程
(1)接口进行拨测,数据正常返回
(2)前端验证数据正常渲染
(3)测试公网及办公网络均无法复现
(4)产品测试环境验证更新相关时间的情况下.数据下拉能够复现数据重复
(5)统计用户反馈,只有少部分人员及少部分时间出现这个问题
(6)后端代码review,发现排序字段为更新时间
(7)修改排序字段进行版本迭代
3.反思
(1).对于经常变化值的字段最好不要拿来做排序
(2)如果需要拿更新时间进行,应该进行页面全局刷新(同时接口也需要支持)而不是只是单独获取下一页的数据,导致上下俩页可能出现重复

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 UniApp 中,可以使用下拉刷新组件来实现下拉刷新加载数据的功能。 首先,在你的页面中添加一个 `<uni-scroll-view>` 组件,用于包裹需要下拉刷新的内容。然后,给 `<uni-scroll-view>` 添加 `@scrolltoupper` 事件监听器,当触发下拉刷新时会执行相应的方法。 接下来,你可以在 `data` 中定义一个变量来表示是否正在加载数据,比如 `isLoading`。当开始下拉刷新时,将 `isLoading` 设置为 `true`,并执行加载数据的逻辑。加载完成后,将 `isLoading` 设置为 `false`。 下面是一个简单的示例代码: ```html <template> <view> <uni-scroll-view :upper-threshold="50" @scrolltoupper="onPullDownRefresh"> <!-- 下拉刷新内容 --> <view v-if="isLoading">正在加载...</view> <view v-else> <!-- 展示数据 --> <view v-for="item in dataList" :key="item.id">{{ item.name }}</view> </view> </uni-scroll-view> </view> </template> <script> export default { data() { return { isLoading: false, dataList: [] }; }, methods: { onPullDownRefresh() { if (this.isLoading) { // 正在加载中,不重复请求 return; } this.isLoading = true; // 执行数据加载逻辑,比如调用接口获取数据 // 模拟异步加载 setTimeout(() => { this.dataList = [ { id: 1, name: '数据1' }, { id: 2, name: '数据2' }, { id: 3, name: '数据3' } ]; this.isLoading = false; }, 2000); } } }; </script> ``` 在上述代码中,`<uni-scroll-view>` 组件包裹了需要下拉刷新的内容,当触发 `@scrolltoupper` 事件时会执行 `onPullDownRefresh` 方法。在 `onPullDownRefresh` 方法中,你可以执行加载数据的逻辑,比如调用接口获取数据,并将加载状态控制变量 `isLoading` 设置为 `true`,加载完成后再设置为 `false`。 注意:上述示例代码中的数据加载逻辑只是一个简单的模拟,实际使用时你需要根据你的需求进行相应的修改。同时,你也可以根据需要对下拉刷新的样式进行自定义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值