我的代碼中有兩個問題,第一個問題顯示在 _patientFromJson 上,第二個問題是無法將引數型別“Object”分配給顯示在 snapshot.data() 上的引數型別“Map<String, dynamic>” !
class Patient{
String? name ;
String? pass ;
String? image ;
String? genre ;
DateTime? birth ;
Patient(this.name, this.pass, this.genre,
this.birth,
{this.reference});
DocumentReference? reference;
factory Patient.fromSnapshot(DocumentSnapshot snapshot) {
Patient newPatient = Patient.fromJson(snapshot.data()!);
newPatient.reference = snapshot.reference;
return newPatient;
}
factory Patient.fromJson(Map<String, dynamic> json) =>
_patientFromJson(json);
Map<String, dynamic> toJson() => _patientToJson(this);
@override
String toString() => 'name $name';
Patient _patientFromJson(Map<String, dynamic> data) {
return Patient(
data['name'],
data['pass'],
data['birth'],
data['genre'],
);
}
Map<String, dynamic> _patientToJson(Patient instance) {
return {
'name' : instance.name,
'pass': instance.pass,
'birth': instance.birth,
'genre': instance.genre,
};
}
}
uj5u.com熱心網友回復:
將您的快照資料轉換為地圖資料
Patient newPatient = Patient.fromJson(snapshot.data()! as Map<String, dynamic>');
更新了第一個
嘗試洗掉對實體成員的參考。你可以試試
factory Patient.fromJson(Map<String, dynamic> data) =>
Patient(
data['name'],
data['pass'],
data['birth'],
data['genre'],
);
有關instance_member_access_from_factory的更多資訊,請閱讀此檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/487755.html
下一篇:如何知道螢屏是在前面還是在后面
