flutter_easy_refresh icon indicating copy to clipboard operation
flutter_easy_refresh copied to clipboard

下拉太快会出现上次下拉成功的状态,而且无法回弹

Open SeeYouWilsen opened this issue 1 year ago • 29 comments

`class _MainAppState extends State<MainApp> { int count = 10; EasyRefreshController controller = EasyRefreshController(controlFinishLoad: true,controlFinishRefresh: true);

@override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: EasyRefresh( controller: controller, refreshOnStart: true, onRefresh: (){ Future.delayed(Duration(seconds: 3),(){ setState(() { count = 20; }); controller.finishRefresh(); }); }, onLoad: (){ Future.delayed(Duration(seconds: 5),(){ setState(() { count += 1; }); controller.finishLoad(); }); }, child: ListView.separated( itemBuilder: (ctx, idx) { return Container( height: 40, child: Center(child: Text("$idx"),), ); }, separatorBuilder: (ctx, idx) { return Divider(); }, itemCount: count)), ), ); } }`

ios 16.4 flutter3.7.9 dart2.19.6

SeeYouWilsen avatar May 17 '23 11:05 SeeYouWilsen

https://github.com/xuelongqy/flutter_easy_refresh/assets/17377866/4990de35-4493-4121-b461-bf75bdd4013e

SeeYouWilsen avatar May 17 '23 11:05 SeeYouWilsen

下拉太快,是因为指示器并没有完全收回就下拉,正常使用用户不会这样去触发。卡住问题有报错吗?

xuelongqy avatar May 18 '23 01:05 xuelongqy

你可以试试3.3.2,看看是否还有这个问题

xuelongqy avatar May 18 '23 01:05 xuelongqy

image 3.3.2+1这个版本还有这个问题,控制台也没有报错

smin9 avatar May 26 '23 06:05 smin9

3.3.2+1这个版本还有这个问题,控制台也没有报错

我们这边也发现有这个问题 @xuelongqy 辛苦看看,最新代码有优化这个问题吗

Jamie-Ling avatar May 29 '23 08:05 Jamie-Ling

3.3.2+1这个版本还有这个问题,控制台也没有报错

我们这边也发现有这个问题 @xuelongqy 辛苦看看,最新代码有优化这个问题吗

这是正常的,如果不需要Footer常驻,把无限加载关闭即可。具体看示例效果

xuelongqy avatar May 29 '23 08:05 xuelongqy

上拉显示加载更多的时候,有时候也会出现这种情况的,需要再拉一次才正常

smin9 avatar May 29 '23 09:05 smin9

上拉显示加载更多的时候,有时候也会出现这种情况的,需要再拉一次才正常

Flutter版本是多少?

xuelongqy avatar May 29 '23 09:05 xuelongqy

3.7.5

smin9 avatar May 29 '23 09:05 smin9

3.7.5

有不有可能是模拟器的问题?鼠标滑动到了屏幕外?

xuelongqy avatar May 29 '23 09:05 xuelongqy

image 快速多次上拉更多,卡住后,再次上拉,会一直在这里return掉,没有反应,要重新返回前面列表,再触发一次上拉才能恢复 @xuelongqy 看看这里有什么兜底策略么?卡住时是一直没有反应的状态

Jamie-Ling avatar May 29 '23 09:05 Jamie-Ling

模拟器和真机我都试了,都是存在这个问题的

smin9 avatar May 29 '23 09:05 smin9

image 快速多次上拉更多,卡住后,再次上拉,会一直在这里return掉,没有反应,要重新返回前面列表,再触发一次上拉才能恢复 @xuelongqy 看看这里有什么兜底策略么?卡住时是一直没有反应的状态

是的,确实是快速多次上拉,这个我忘记表述了

smin9 avatar May 29 '23 09:05 smin9

主要是我复现不了,不知道是不是只有iOS有这个问题

xuelongqy avatar May 29 '23 09:05 xuelongqy

我下班帮忙测试一下android的,是否也有这个问题

smin9 avatar May 29 '23 09:05 smin9

我的是android的。历史版本和最新版本都有这个问题。要快速多次连续上拉,当数据回包稍慢一点时,就比较容易出现

Jamie-Ling avatar May 29 '23 09:05 Jamie-Ling

能提供一个可运行的复现demo吗?

xuelongqy avatar May 29 '23 09:05 xuelongqy

看上去把processedDuration设置为0就可以了(默认是设置的1),应该是动画切换过程中状态的变化存在异常导致会卡在don的状态。 @smin9 可以试试是否也ok了

Jamie-Ling avatar May 29 '23 12:05 Jamie-Ling

我这边始终复现不了。Android12 Flutter3.10.2

xuelongqy avatar May 31 '23 01:05 xuelongqy

大佬你复现的时候,加上这些参数试试,const ClassicFooter( position: IndicatorPosition.above, infiniteOffset: null, maxOverOffset: 100, )

smin9 avatar Jun 05 '23 10:06 smin9

我去掉了之后,就都是正常的。

smin9 avatar Jun 05 '23 10:06 smin9

fileName.mov

请问您有解决这个问题吗

MyNameIsShort avatar Jul 06 '23 10:07 MyNameIsShort

你的ClassicFooter 有设置吗?position: IndicatorPosition.above, infiniteOffset: null, maxOverOffset: 100,

smin9 avatar Jul 06 '23 10:07 smin9

那可以实现:没有完全收回不响应用户在这期间的下滑事件吗?

MyNameIsShort avatar Jul 07 '23 03:07 MyNameIsShort

我在NestedScrollView的body中复现了这个问题,正在修复中

pre868 avatar Sep 22 '23 09:09 pre868

看上去把processedDuration设置为0就可以了(默认是设置的1),应该是动画切换过程中状态的变化存在异常导致会卡在don的状态。 @smin9 可以试试是否也ok了

设置了Duration为zero似乎可以了!!

onism0106 avatar Sep 25 '23 08:09 onism0106

嵌套有swiper的时候经常触发无法回弹的问题,应该是和NestedScrollView嵌套是一个问题。processedDuration设为0也无法解决,想知道预计什么时候解决? @pre868

ShanRaw avatar Oct 11 '23 03:10 ShanRaw

嵌套有swiper的时候经常触发无法回弹的问题,应该是和NestedScrollView嵌套是一个问题。processedDuration设为0也无法解决,想知道预计什么时候解决? @pre868

你这个问题看,README第一条

xuelongqy avatar Oct 11 '23 03:10 xuelongqy

嵌套有swiper的时候经常触发无法回弹的问题,应该是和NestedScrollView嵌套是一个问题。processedDuration设为0也无法解决,想知道预计什么时候解决? @pre868

你这个问题看,README第一条

感谢,使用EasyRefresh.builder解决了问题。👍👍👍

ShanRaw avatar Oct 11 '23 05:10 ShanRaw