Я пытаюсь добавить новые данные, но получаю ошибку:
The argument type 'Product' can't be assigned to the parameter type 'Map<String, dynamic>
Вот что я пытаюсь сделать:
У меня есть форма с просто 2 TextField
с
Я объявил карту с данными
final Map<String, dynamic> _formData = {
'title': null,
'content': null,
};
и после этого я использую блок для передачи данных конструктору модели 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});
}