pharmacy_mobile/lib/widgets/pull_refresh_widget.dart
2025-02-26 15:23:42 +08:00

35 lines
1,002 B
Dart

import 'package:flutter/material.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
class PullRefreshWidget extends StatefulWidget {
final Widget child;
const PullRefreshWidget({super.key, required this.child});
@override
State<PullRefreshWidget> createState() => _PullRefreshWidgetState();
}
class _PullRefreshWidgetState extends State<PullRefreshWidget> {
final RefreshController refreshController = RefreshController(initialRefresh: false);
void onRefresh() async {
await Future.delayed(Duration(milliseconds: 1000));
refreshController.refreshCompleted();
}
void onLoading() async {
await Future.delayed(Duration(milliseconds: 1000));
if (mounted) setState(() {});
refreshController.loadComplete();
}
@override
Widget build(BuildContext context) {
return SmartRefresher(
controller: refreshController,
enablePullDown: true,
onRefresh: onRefresh,
onLoading: onLoading,
child: widget.child);
}
}