方法 'containsKey' 不是为类型 'function' 定义的。我该如何解决?

时间:2021-05-11 09:19:10

标签: flutter dart maps

    var data = {
      'photoUrl': profileImageUrl,
      'age': age,
      'username': username,
    };
    //ref.setData(data, merge: true);
    ref.set(data);
    SetOptions(merge: true);
    final DocumentSnapshot currentDocument = await ref.get();
    return Utilizer.fromFirestore(currentDocument);
  }
 @override
  Future<bool> isProfileComplete(String uid) async {
    DocumentReference ref = fireStoreDb.collection(Paths.usersPath).doc(uid);
    final DocumentSnapshot currentDocument = await ref.get();

    return (currentDocument.exists &&
        
        currentDocument.data.containsKey('username') &&  //error here
        currentDocument.data.containsKey('age'));        //error here
<块引用>

我是 Flutter 和 OOP 的新手。这是我正在关注的一些项目教程。但是项目中使用的flutter版本已被弃用。所以我正在升级它并遇到了这个问题。以前的版本似乎没有这个问题。请问有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

DocumentSnapshot 上的

data 属性是一种返回文档快照内容的方法。您需要先执行它,然后才能访问 Map 的属性。

currentDocument.data().containsKey('username')