RefreshController class
控制 SmartRefresher 的刷新和加载状态
用于手动触发刷新、加载更多,以及控制刷新/加载状态的结束
核心功能:
- 手动触发下拉刷新:requestRefresh
- 手动触发上拉加载:requestLoading
- 结束刷新状态:refreshCompleted, refreshFailed, refreshToIdle
- 结束加载状态:loadComplete, loadFailed, loadNoData
使用示例:
// 创建控制器
final _refreshController = RefreshController(initialRefresh: false);
// 手动触发刷新
_refreshController.requestRefresh();
// 结束刷新(成功)
_refreshController.refreshCompleted();
// 结束刷新(失败)
_refreshController.refreshFailed();
// 结束加载更多(成功)
_refreshController.loadComplete();
// 结束加载更多(无数据)
_refreshController.loadNoData();
// 重置无数据状态
_refreshController.resetNoData();
相关组件:
- SmartRefresher:使用此控制器的刷新组件
Constructors
- RefreshController({bool initialRefresh = false, RefreshStatus? initialRefreshStatus, LoadStatus? initialLoadStatus})
- 创建刷新控制器
Properties
-
底部状态通知器
getter/setter pair
-
获取当前底部状态
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
-
headerMode
↔ RefreshNotifier<
RefreshStatus> ? -
头部状态通知器
getter/setter pair
- headerStatus → RefreshStatus?
-
获取当前头部状态
no setter
- initialRefresh → bool
-
是否在初始化时自动触发刷新
final
- isLoading → bool
-
是否正在加载更多
no setter
- isRefresh → bool
-
是否正在刷新
no setter
- position ↔ ScrollPosition?
-
可滚动组件的位置信息
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
dispose(
) → void - 释放资源
-
loadComplete(
) → void - 结束加载更多(成功)
-
loadFailed(
) → void - 结束加载更多(失败)
-
loadNoData(
) → void - 结束加载更多(无数据)
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onPositionUpdated(
ScrollPosition newPosition) → void - 当指示器构建完成时回调,捕获可滚动组件的内部位置
-
refreshCompleted(
{}) → void - 结束刷新(成功)
-
refreshFailed(
) → void - 结束刷新(失败)
-
refreshToIdle(
) → void - 直接结束刷新,不显示成功或失败状态
-
requestLoading(
{bool needMove = true, bool needCallback = true, Duration duration = const Duration(milliseconds: 300), Curve curve = Curves.linear}) → Future< void> ? - 手动触发上拉加载更多
-
requestRefresh(
{bool needMove = true, bool needCallback = true, Duration duration = const Duration(milliseconds: 500), Curve curve = Curves.linear}) → Future< void> ? - 手动触发下拉刷新
-
resetNoData(
) → void - 重置底部无数据状态为空闲
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited