酿造列表不使用此refreshList函数刷新。函数有什么问题?它需要刷新列表并从Firestore中获取最新列表,但是直到我热重新加载后它才加载更改。
class BrewList extends StatefulWidget {
@override
_BrewListState createState() => _BrewListState();
}
class _BrewListState extends State<BrewList> {
List<Brew> brews;
Future<dynamic> refreshList() async {
await Future.delayed(Duration(seconds: 1));
setState(() {
brews = Provider.of<List<Brew>>(context) ?? [];
});
}
@override
Widget build(BuildContext context) {
brews = Provider.of<List<Brew>>(context) ?? [];
return RefreshIndicator(
onRefresh: refreshList,
ListView.builder(
itemCount: brews.length,
itemBuilder: (context, index) {
return BrewTile(brew: brews[index]);
},
),
);
}
}
// get brews future
Future<List<Brew>> get brews async {
QuerySnapshot snapshot = await brewCollection.getDocuments();
return _brewListFromSnapshot(snapshot);
}
List<Brew> _brewListFromSnapshot(QuerySnapshot snapshot) {
return snapshot.documents.map((doc){
//print(doc.data);
return Brew(
name: doc.data['name'] ?? '',
strength: doc.data['strength'] ?? 0,
sugars: doc.data['sugars'] ?? '0'
);
}).toList();
}
酿造列表不使用此refreshList函数刷新。函数有什么问题?它需要刷新列表并从Firestore中获取最新列表,但不需要...
尝试一下,我想我已经为您工作了