xuelongqy / flutter_easy_refresh

A flutter widget that provides pull-down refresh and pull-up load.
https://xuelongqy.github.io/flutter_easy_refresh/
MIT License
3.88k stars 633 forks source link

希望当我 在controller 没有绑定的时候 改变刷新或则上拉状态的时候 ,当我界面请求成功后可以吧controller的状态赋值到界面 #690

Closed tang5011235 closed 1 year ago

tang5011235 commented 1 year ago

DefaultMultiStateView( controller: controller, onEmptyClick: onEmpty ?? onRefresh, onErrorClick: onError ?? onRefresh, child: (value) { if (refreshController != null) { return EasyRefresh.builder( scrollController: scrollController, refreshOnStart: refreshOnStart ?? false, controller: refreshController, onRefresh: onRefresh, onLoad: onLoadMore, childBuilder: (BuildContext context, ScrollPhysics physics) { return child(context, physics, value); }, ); } else { return child(context, null, value); } }, );

我在请求完成数据后才会显示easyrefresh  但是先改变了controller 的状态,然后刷新数据就会出现问题

特别是我上拉加载 本来只有2条数据 但是他会允许我再次上拉请求更多

xuelongqy commented 1 year ago

直接返回IndicatorResult就可以,文档注释有提到

tang5011235 commented 1 year ago

不满一瓶的时候会出现问题

tang5011235 commented 1 year ago

这个是设置了的 image

xuelongqy commented 1 year ago

没懂你的意思,你可以看看demo。如果还有问题,可以录个视频,文字说明一下具体情况

xuelongqy commented 1 year ago

你可以参考一下分页的示例,这个应用场景应该是你需要的

tang5011235 commented 1 year ago

image 这个是我的嵌套 多状态界面 如果有数据则会渲染 easyRefresh 我会先加载数据 然后会执行 这个代码 状态的更新 image 如果数据操过一屏幕不会出问题 ,当少于一屏幕上拉加载 就会 一直转

tang5011235 commented 1 year ago

https://user-images.githubusercontent.com/13332227/222101508-66d0a2a3-0c68-4611-b06f-4d229da18232.mp4

xuelongqy commented 1 year ago

你需要把首次加载交给EasyRefresh去做,应该不会出现这个问题了

tang5011235 commented 1 year ago

对首次 交给easy refresh应该不会出问题

tang5011235 commented 1 year ago

主要是想要设置 为空或则为错误 不想让他们上拉加载

xuelongqy commented 1 year ago

可以啊 设置noMore或者禁用

tang5011235 commented 1 year ago

image 感觉没办法 看到你源码这里 没有绑定是无法设置 footer和header 状态的

xuelongqy commented 1 year ago

所以 什么情况下不绑定controller?

xuelongqy commented 1 year ago

指示器状态相关可以让EasyRefresh接管,或者在绘制后的下一帧设置状态。后续还有问题,请重新开启此issue