【发布时间】:2021-02-22 19:10:49
【问题描述】:
我在 Flutter 应用上显示来自 Firestore 的数据时遇到了这个问题
错误:
Closure call with mismatched arguments: function '[]'
Receiver: Closure: () => Map<String, dynamic> from Function 'data':.
Tried calling: []("quizImgUrl")
Found: []() => Map<String, dynamic>
我的代码:
Widget QuizList() {
return Container(
child: StreamBuilder(
stream: quizStream,
builder: (context, snapshot) {
return snapshot.data == null
? Container()
: ListView.builder(
itemCount: snapshot.data.documents.length,
itemBuilder: (context, index) {
snapshot.data.documents
.map((doc) => new ListTile(
title: new Text(doc["quizTitle"]),
subtitle: new Text(doc["quizImgUrl"].toString())))
.toList();
return QuizTile(
imgUrl: snapshot.data.documents[index].data['quizImgUrl'],
desc: snapshot
.data.documents[index].data['quizDescription'],
title: snapshot.data.documents[index].data['quizTitle'],
);
});
},
),
);
}
数据库代码:
Future<void> addQuestionData(Map questionData, String quizId) async {
await FirebaseFirestore.instance
.collection("Quiz")
.doc(quizId)
.collection("QNA")
.add(questionData)
.catchError((e) {
print(e);
});
}
【问题讨论】:
-
这能回答你的问题吗? Closure call with mismatched arguments
-
答案对您有帮助吗?
标签: firebase flutter dart google-cloud-firestore flutter-layout