uni-app list组件嵌套swiper再嵌套list的问题

uni-app list组件嵌套swiper再嵌套list的问题

操作步骤:

  • list组件嵌套swiper组件,再嵌套list组件

预期结果:

  • 回弹应该是正常

实际结果:

  • 回弹过多,后续会弹回来

bug描述:

  • list组件嵌套swiper组件,再嵌套list,发生了最外层list组件下拉刷新异常的问题,每次下拉刷新松开手后,都会导致内容回弹过多,已经录屏放到附件中。

附件:

开发环境 版本号 项目创建方式
Mac MacOS 11.2.3 HBuilderX
3.1.18
iPhone iOS 14

更多关于uni-app list组件嵌套swiper再嵌套list的问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

发现了,是 :fixFreezing=“true” 的原因,去掉后正常。

更多关于uni-app list组件嵌套swiper再嵌套list的问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个典型的嵌套滚动冲突问题。在uni-app中,多层组件嵌套(list-swiper-list)会导致滚动事件传递异常。

问题原因:

  1. 多个滚动容器嵌套时,滚动事件会被多个组件同时捕获
  2. iOS的弹性滚动机制与uni-app的scroll-view/list组件存在兼容性问题
  3. 下拉刷新时,内外层滚动组件都响应了touch事件,导致回弹计算错误

解决方案:

  1. 禁用内层滚动(推荐)
// 在内层list设置scroll-enabled="false"
<list scroll-enabled="{{false}}">
回到顶部