uni-app nvue list 在iphone上触发@loadmore后 每次滚动条都置顶 设置setTimeout拽取数据后

uni-app nvue list 在iphone上触发@loadmore后 每次滚动条都置顶 设置setTimeout拽取数据后

开发环境 版本号 项目创建方式
Windows win7 HBuilderX
### 操作步骤:
100%

### 预期结果:
不改变滚动条位置

### 实际结果:
1111

### bug描述:
nvue list iphone 触发[@loadmore](/user/loadmore)后 每次滚动条都置顶

更多关于uni-app nvue list 在iphone上触发@loadmore后 每次滚动条都置顶 设置setTimeout拽取数据后的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app nvue list 在iphone上触发@loadmore后 每次滚动条都置顶 设置setTimeout拽取数据后的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在 nvue 的 list 组件中,iPhone 上触发 [@loadmore](/user/loadmore) 后滚动条置顶是已知的兼容性问题。通常是因为在 loadmore 事件中同步更新数据导致页面重绘,打断了 iOS 的滚动行为。

解决方案:

  1. [@loadmore](/user/loadmore) 事件中,使用 setTimeout 异步更新数据:
onLoadMore() {
  setTimeout(() => {
    // 获取新数据并更新列表
    this.fetchData().then(data => {
      this.list = [...this.list, ...data];
    });
  }, 0);
}
  1. 确保 loadmoreoffset 属性设置合理(建议 10-50):
<list loadmoreoffset="20" [@loadmore](/user/loadmore)="onLoadMore">
回到顶部