【发布时间】:2021-12-19 07:00:25
【问题描述】:
这里我使用的是 pull_to_refresh 包。我正在调用 HomeSlider 小部件和 HomeContect 小部件。这两个小部件从 firebase 获取值。 pull_to_refresh 小部件正在出现,但它没有从 firebase 刷新值。
class Home extends StatefulWidget {
@override
_HomeState createState() => _HomeState();
}
class _HomeState extends State<Home> {
RefreshController _refreshController =
RefreshController(initialRefresh: false);
void _onRefresh() async {
// monitor network fetch
await Future.delayed(Duration(milliseconds: 1000));
// if failed,use refreshFailed()
_refreshController.refreshCompleted();
}
@override
Widget build(BuildContext context) {
return Stack(children: [
SmartRefresher(
controller: _refreshController,
onRefresh: _onRefresh,
enablePullDown: true,
child: ListView(
children: [
SizedBox(
height: 100,
),
SizedBox(height: 180, child: HomeSlider()),
HomeContents(),
],
),
),
]);
}
}
【问题讨论】:
-
在您的 onRefresh 方法中,您应该调用 firebase 方法从 firebase 重新获取您的值。但是,您似乎没有在 onRefresh 中调用任何其他方法。