products 集合有一个布尔值,在创建产品时自动设置为 true。如何改变它使用Switch
?
return StreamBuilder<List<Product>>(
stream: ProductService().products,
builder: (context, snapshot) {
if (snapshot.hasData) {
return DataTable(
columns: [
),
DataColumn(
label: Text('isActive'),
),
],
rows: snapshot.data.map((products) {
return DataRow(cells: [
DataCell(
Switch(
value: products.isActive,
onChanged: (bool notActive) {
setState(() {
products.isActive = notActive;
print(products.isActive);
updateStatus(bool notActive);
});
}),
),
]);
}).toList(),
);
}
return Container();
});
试图这样做
void updateStatus(bool notActive) {
_firestore.document().updateData({'isActive': notActive});
}
一般来说,会的。您必须在 Product 模型中添加一个带有 id 的字段,在将新文档添加到数据库时得到它,就像 documentReference.documentID一样。