firebase - 是否可以将流生成器生成的对象列表发送到本地方法?
问题描述
所以我试图将一个由流构建器生成的对象列表发送到这个名为“submitOrder”的方法,但这似乎是一种错误的方法,如果有人能帮助我,我将不胜感激。
StreamBuilder(
stream: DatabaseService().cartCollection.snapshots(),
builder: ( context, snapshot){
if (!snapshot.hasData){
return Loading();
}
else{
List<CartItem> products =[];
double total =0;
CartItem temp= CartItem(customerId:'' ,itemId:'' ,id: '', title: '', quantity:0, price: 0);
for (int i=0; i<snapshot.data.documents.length; i++){
DocumentSnapshot snap = snapshot.data.documents[i];
if ((snap.data['customerId']== user.uid && snap.data['status']== 'open') ){
temp = CartItem(
customerId: user.uid,
itemId: snap.data['itemId'].toString(),
id: snap.documentID.toString(),
title: snap.data['itemName'].toString(),
quantity: int.tryParse(snap.data['quantity'].toString()) ,
price: double.tryParse( snap.data['price'].toString())
);
total += temp.quantity*temp.price;
products.add(temp);
}
}
submitOrder(products,total);
return Text('Order Sucsessfuly!');
}
}
);
解决方案
试试这个,让我知道它是否适合你
StreamBuilder<QuerySnapshot>(
stream: DatabaseService().cartCollection.snapshots(),
builder: (BuildContext context,AsyncSnapshot<QuerySnapshot> snapshot){
if (snapshot.hasData){
List<CartItem> products =[];
double total =0;
CartItem temp;
snapshot.data.documents.map((DocumentChange change){
if ((change.document.data['customerId']== user.uid && change.document.data['status']== 'open') ){
temp = CartItem(
customerId: user.uid,
itemId: snap.data['itemId'].toString(),
id: snap.documentID.toString(),
title: snap.data['itemName'].toString(),
quantity: int.tryParse(snap.data['quantity'].toString()) ,
price: double.tryParse( snap.data['price'].toString())
);
total += temp.quantity*temp.price;
products.add(temp);
}
});
submitOrder(products,total);
return Text('Order Sucsessfuly!');
} else{
return Loading();
}
}
);
推荐阅读
- python - 如何加载图像案例来衡量投资回报率?
- c - C: 多进程 CMD 运行完所有命令后什么都不做
- python - 如何格式化元组?
- go - 理解 Go 的 exec.Output() 函数
- android - 无法在 Android 上使用 Cordova 和 Ionic 加载模块
- python - Pandas - 按任何列中的最高单个值对数据框进行排序
- php - Wordpress 联系 Foprm 7
- node.js - 使用 mongodb 测试 express 应用程序
- powershell - Powershell,将AD信息输出到特定行
- post - 我已经创建了一个表格,但帖子没有来