flutter之RefreshIndicator

本文最后更新于 2025年1月9日 下午

基础用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

// 定义刷新key
final GlobalKey<RefreshIndicatorState> _refreshIndicatorKey = GlobalKey<RefreshIndicatorState>();

// 数据源
final List<String> items = List.generate(20, (i) => 'Item ${i + 1}');

// 模拟请求
Future<void> _onRefresh() async {
await Future.delayed(const Duration(seconds: 2)); // 模拟网络请求
// 更新数据
setState(() {
items.clear();
items
.addAll(List.generate(20, (i) => 'New item ${i + items.length + 1}'));
});
}

/// 手动刷下
void _triggerRefresh() {
WidgetsBinding.instance!.addPostFrameCallback((_) {
_refreshIndicatorKey.currentState!.show();
});
}

@override
Widget build(BuildContext context) {
_triggerRefresh()
return CustomerContainer(
width: 355,
height: 485,
children: RefreshIndicator(
/// RefreshIndicator 下拉加载更多
onRefresh: _onRefresh,
key: _refreshIndicatorKey,
child: ListView.builder(
itemCount: items.length,
itemBuilder: (context, index) {
return ListTile(
title: Text(items[index]),
);
}),
));
}

自定用法


flutter之RefreshIndicator
https://dev.dgdream.online/flutter之RefreshIndicator/
作者
执念
发布于
2025年1月9日
更新于
2025年1月9日
许可协议