我正在尝试使用小组件从 Firestore 中的文档中检索数据。我过去用过这个,我想是用不同版本的 Dart 或 flutter,而且它有效。现在,当我使用参数类型“对象?”时,显示以下错误 (doc.data())
无法分配给参数类型“Map <String,dynamic>”
这是代码
DriverProvider driverProvider;
void getDriverInfo() {
Stream<DocumentSnapshot> driverStream =
driverProvider!.getbyIdStream(FirebaseAuth.instance.currentUser!.uid);
driverStream.listen((DocumentSnapshot doc) {
driver = Driver.fromJson(doc.data());
});
}
Run Code Online (Sandbox Code Playgroud)
这里是driverProvider!来自
import 'package:brokerdrivers/models/user-models.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
class DriverProvider {
CollectionReference? _ref;
DriverProvider() {
_ref = FirebaseFirestore.instance.collection('Drivers');
}
Future? create(Driver driver) {
String? errorMessage;
try {
return _ref!.doc(driver.id).set(driver.toJson());
} catch (e) {
print(e);
errorMessage = e.toString();
return Future.error(errorMessage);
}
}
Stream<DocumentSnapshot> getbyIdStream(String id) {
return _ref!.doc(id).snapshots(includeMetadataChanges: true);
}
}
Run Code Online (Sandbox Code Playgroud)
这就是getbyIdStream来自
Stream<DocumentSnapshot> …Run Code Online (Sandbox Code Playgroud)