getting error: The argument type 'Product' can't be assigned to the parameter type 'Map<String, dynamic>
getting error: The argument type 'Product' can't be assigned to the parameter type 'Map<String, dynamic>
我正在尝试添加一些新数据但出现错误:
The argument type 'Product' can't be assigned to the parameter type 'Map<String, dynamic>
这是我正在尝试做的事情:
我有一个只有 2 TextField
s 的表格
我已经用数据
声明了一张地图
final Map<String, dynamic> _formData = {
'title': null,
'content': null,
};
然后我使用 bloc 通过模型构造函数传递数据 Product
RaisedButton(
child: Text('Add'),
onPressed: () {
bloc.createData(
Product(
title: _formData['title'],
content: _formData['description'],
)
);
}
),
在集团中,我将其传递给提供者,如下所示:
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;
}
因为我正在使用 collection_reference 并且它需要一张地图 我不能使用参数模型 Products,它的构造如下:
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;
}
从数据库中检索数据后,您还需要将回映射转换为 Product 对象
我正在尝试添加一些新数据但出现错误:
The argument type 'Product' can't be assigned to the parameter type 'Map<String, dynamic>
这是我正在尝试做的事情:
我有一个只有 2 TextField
s 的表格
我已经用数据
final Map<String, dynamic> _formData = {
'title': null,
'content': null,
};
然后我使用 bloc 通过模型构造函数传递数据 Product
RaisedButton(
child: Text('Add'),
onPressed: () {
bloc.createData(
Product(
title: _formData['title'],
content: _formData['description'],
)
);
}
),
在集团中,我将其传递给提供者,如下所示:
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;
}
因为我正在使用 collection_reference 并且它需要一张地图 我不能使用参数模型 Products,它的构造如下:
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;
}
从数据库中检索数据后,您还需要将回映射转换为 Product 对象