Flutter、Dart、FireBase:[错误:flutter/lib/ui/ui_dart_state.cc(199)] 未处理的异常:参数无效 - onTap GestureDetcture

时间:2021-06-07 16:24:12

标签: flutter dart google-cloud-firestore

运行应用程序时出现以下错误。

<块引用>

[ERROR:flutter/lib/ui/ui_dart_state.cc(199)] 未处理的异常:无效参数

<块引用>

被手势捕获的异常无效参数

Error

代码

onTap: () async {
                                  var userDetail = await FirebaseFirestore
                                      .instance
                                      .collection("Users")
                                      .doc(
                                          FirebaseAuth.instance.currentUser.uid)
                                      .get();
                                  final pID =
                                      userDetail.data()['ID'];

                                  final pName = userDetail.data()['Name'];
                                  var dName = snapshot.data.docs[index]
                                      .data()['Doc Name'];
                                  var dID = snapshot.data.docs[index]
                                      .data()['DocID'];
                                  var dcoumentID=
                                      pID + pName + dName + dID;
                                  Navigator.push(
                                    context,
                                    MaterialPageRoute(builder: (context) {
                                      return Screen1(
                                          doctor:
                                              snapshot.data.docs[index].data(),
                                          doctumentID:
                                              dcoumentID);
                                    }),
                                  );
                                },

此代码适用于应用程序的其余部分,只有这一部分会引发错误。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

错误出现在我试图访问的字段之一中,我没有添加空间。 始终检查您是否正确键入了字段名称和集合名称。 谢谢。

onTap: () async {
                                  var userDetail = await FirebaseFirestore
                                      .instance
                                      .collection("Users")
                                      .doc(
                                          FirebaseAuth.instance.currentUser.uid)
                                      .get();
                                  final pID =userDetail.data()['ID'];
    
                                      final pName = userDetail.data()['Name'];
                                      var dName = snapshot.data.docs[index]
                                          .data()['Doc Name'];
                                      var dID = snapshot.data.docs[index]
                                          .data()['Doc ID']; //changed field name
                                      var dcoumentID=
                                          pID + pName + dName + dID;
                                      Navigator.push(
                                        context,
                                        MaterialPageRoute(builder: (context) {
                                          return Screen1(
                                              doctor:
                                                  snapshot.data.docs[index].data(),
                                              doctumentID:
                                                  dcoumentID);
                                        }),
                                      );
                                    },