gpt4 book ai didi

flutter - 在 FutureBuilder 中访问多个 future 的结果

转载 作者:行者123 更新时间:2023-12-05 06:16:37 28 4
gpt4 key购买 nike

我是 Flutter 的新手,需要帮助。

我正在运行 Future Builder 中的 futures,然后尝试访问文档。不幸的是,我在下面收到错误、代码和错误。如何访问两个不同的文档快照?我 future 的方法应该返回一些东西吗?有一个更好的方法吗?

错误在这里:

snapshot.data[1].data[index].data["fname"]

代码:

class PostsWidget extends StatefulWidget {

@override
_PostsWidgetState createState() => _PostsWidgetState();
}

class _PostsWidgetState extends State<PostsWidget> {
Future getPosts() async {
var firestore = Firestore.instance;
QuerySnapshot qn = await firestore.collection("posts").getDocuments();
return qn.documents;
}

Future getUsers() async {
var firestore = Firestore.instance;
QuerySnapshot qn = await firestore.collection("users").getDocuments();
return qn.documents;
}

@override
Widget build(BuildContext context) {
return Container(
child: FutureBuilder(
future: Future.wait([getPosts(), getUsers()]),
builder: (_, snapshot) {
switch (snapshot.connectionState) {
case ConnectionState.waiting:
return Center(child: CircularProgressIndicator());
default:
return ListView.builder(
itemCount: snapshot.data[0].length,
itemBuilder: (_, index) {
return Card(
child: Column(
children: <Widget>[
Container(
color: Color(0xff707070),
child: Padding(
padding: const EdgeInsets.all(4.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Padding(
padding: const EdgeInsets.all(4.0),
child: Text(
snapshot.data[1].data[index].data["fname"],
style: TextStyle(color: Colors.white),
),
),
Padding(
padding: const EdgeInsets.all(4.0),
child: Icon(
Icons.info,
color: Colors.white,
),
),
],
),
),
)
],
));
},
);
}
},
),
);
}
}

日志/错误:

Class 'List<DocumentSnapshot>' has no instance getter 'data'.
Receiver: Instance(length:1) of '_GrowableList'
Tried calling: data

最佳答案

snapshot.data[1].data[index].data["fname"]

这一行应该是:

snapshot.data[1][index].fname

其中 fname 是您正在访问的对象的属性。

关于flutter - 在 FutureBuilder 中访问多个 future 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62024859/

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