簡體   English   中英

如何獲取 Flutter firestore 中的值的總數?

[英]How To get The Total of values in Flutter firestore?

我有一個 Firestore Collection 'Cart' 包含一個產品列表,每個產品都有一個價格,所以我想獲取所有這些產品並計算價格總和: 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();
 }

任何幫助將不勝感激。

這對我有用:

 final cartitems = snapshot.data;
            final List<CartModel> products = cartitems;
            double getPrice() {
              double price = 0;
              cartitems.forEach((x) {
                price += x.price * x.numofitem;
              });
              return price;
            }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM