Firebase 获取错误:参数类型';产品';can';不能分配给参数类型';地图<;字符串,动态>;
我试图添加一些新数据,但出现错误:Firebase 获取错误:参数类型';产品';can';不能分配给参数类型';地图<;字符串,动态>;,firebase,dart,flutter,model,bloc,Firebase,Dart,Flutter,Model,Bloc,我试图添加一些新数据,但出现错误: 无法将参数类型“Product”分配给参数类型“Map” 以下是我想做的: 我有一个只有2TextFields的表单 我已经声明了一个包含数据的地图 final Map<String, dynamic> _formData = { 'title': null, 'content': null, }; 在bloc中,我将其传递给提供者,如下所示: void createData(Product product)
无法将参数类型“Product”分配给参数类型“Map”
以下是我想做的:
我有一个只有2TextField
s的表单
我已经声明了一个包含数据的地图
final Map<String, dynamic> _formData = {
'title': null,
'content': null,
};
在bloc中,我将其传递给提供者,如下所示:
void createData(Product product) async {
String id = await db.createData(product);
_inId.add(id);
}
现在它来了:
Future createData(Product product) async {
DocumentReference ref = await db.collection("product").add(product); //error: The argument type 'Product' can't be assigned to the parameter type 'Map<String, dynamic>
print(ref.documentID);
return ref.documentID;
}
您需要将产品转换为地图 例如:
Future createData(Product product) async
{
await db.collection("product").add( _convertProductToMap(product));
}
Map<String, dynamic> _convertProductToMap( Product product )
{
Map<String, dynamic> map = {};
map['title'] = product.title;
map['content'] = product.content;
return map;
}
Future createData(产品)异步
{
等待数据库收集(“产品”)。添加(_convertProductToMap(产品));
}
映射转换产品映射(产品)
{
Map={};
map['title']=product.title;
map['content']=product.content;
返回图;
}
从数据库中检索数据后,还需要将后向映射转换为产品对象
class Product {
final String title, content;
Product({this.title, this.content});
}
Future createData(Product product) async
{
await db.collection("product").add( _convertProductToMap(product));
}
Map<String, dynamic> _convertProductToMap( Product product )
{
Map<String, dynamic> map = {};
map['title'] = product.title;
map['content'] = product.content;
return map;
}