【发布时间】:2021-06-28 14:06:30
【问题描述】:
我有一个 Firestore 集合“购物车”,其中包含一个产品列表,每个产品都有一个价格,所以我想获取所有产品并计算价格总和:FireStore Collection
我尝试了一些代码,这个代码正在运行,但是我如何在屏幕上显示总和
Future getTotal() async {
int sum = 0;
FirebaseFirestore.instance.collection('Users/$userid/Cart').get().then(
(querySnapshot) {
querySnapshot.docs.forEach((result) {
for (var i = 1; i < result.data()['price'].toString().length; i++) {
sum = sum + result.data()['price'];
}
});
print('total : $sum');
},
);
}
更新:我试过这是有效的,但是当我从购物车中删除产品时,值没有改变,除非我关闭屏幕然后再次返回,
double sum = 0;
double total = 0;
final String userid = FirebaseAuth.instance.currentUser.uid;
@override
void initState() {
FirebaseFirestore.instance.collection('Users/$userid/Cart').get().then(
(querySnapshot) {
querySnapshot.docs.forEach((result) {
sum = sum + result.data()['price'];
});
setState(() {
total = sum;
});
},
);
super.initState();
}
任何帮助将不胜感激。
【问题讨论】:
-
只需创建一个实例变量,指定您的
sum、variable = sum,然后在您的小部件中使用它,例如Text('$variable') -
问题标题和正文不匹配!
-
根据正文改标题就好了
-
最好在 state 中设置总值,然后你就可以得到总的 frim 文本小部件
-
请问我该怎么做?
标签: firebase flutter google-cloud-firestore