gpt4 book ai didi

firebase - 实现下拉刷新

转载 作者:IT王子 更新时间:2023-10-29 07:23:06 24 4
gpt4 key购买 nike

您如何在 Flutter 应用程序中实现下拉刷新,最好使用 StreamBuilderFutureBuilder 从 Firestore 中的集合获取数据并将其显示在 ListView ?

最佳答案

我最终使用了这里的信息。 How to refresh or reload a flutter firestore streambuilder manually?

我添加了刷新指示器并使我的流从函数中获取数据,请参见下面的代码。

  var stream;

@override
void initState() {
setState(() {
stream = mouvesStream();
});

super.initState();
}

Stream<QuerySnapshot> stream() {
return Firestore.instance.collection(_locationState).snapshots();
}

@override
Widget build(BuildContext context) {
body: StreamBuilder(
stream: stream,
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.hasError) {
return Text(snapshot.error);
}
if (snapshot.connectionState == ConnectionState.active) {
List aList = new List();
aList.clear();
for (DocumentSnapshot _doc in snapshot.data.documents) {
Model _add = new Model.from(_doc);
aList.add(_add);
}
return TabBarView(
children: <Widget>[
RefreshIndicator(
onRefresh: _handleRefresh,
child: ListView.builder(
itemCount: aList.length,
itemBuilder: (context, index) {
return Card(aList[index]);
},
),
),
Icon(Icons.directions_transit),
],
);
} else {
return Container(
child: Center(child: CircularProgressIndicator()));
}
})));

}

关于firebase - 实现下拉刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54539248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com