如何刷新冲煮清单?

问题描述 投票:0回答:1

酿造列表不使用此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中获取最新列表,但不需要...

flutter flutter-layout
1个回答
0
投票

尝试一下,我想我已经为您工作了

© www.soinside.com 2019 - 2024. All rights reserved.