簡體   English   中英

Flutter 小部件內的 FOR 循環

[英]Flutter FOR loop inside widget

所以基本上我想要實現的是:

在此處輸入圖像描述

但顯然它在 flutter 中是不允許的。

我正在嘗試使用 FOR 循環加載餐廳項目列表及其數量值,並使用文本小部件將它們顯示到應用程序中。 但是使用我使用的當前邏輯,在顯示每個項目名稱及其各自列表中的數量之后,我需要迭代和更新xrange的變量。 這里的問題是我不能像在普通的 FOR 循環中那樣在小部件中使用 FOR 循環,您可以在 FOR 循環中放置多個語句

下面的代碼片段是我想要實現的邏輯。 它類似於我在 flutter 中實現的代碼。 FOR 循環部分是我唯一堅持的部分。

Flutter 還是有點新的,所以任何幫助或指導將不勝感激。 謝謝!

void main()
{
 int x =0;
  int range =0;
  
  
  
  List<String> restaurauntNames = ['Jollibee','Chowking','Mcdonalds'];
  
 List<int> orderNumber = [3,2,1];
  
 List<int> itemQuantity = [1,1,2,3,1,3];
  
 List<String> itemName= ['Jolly Spag','Chicken Joy','Peach Mango Pie','Chao Fan','Lauriat','Big Mac'];
  
 
  

  for(String i in restaurauntNames)
  {
    print(i);
    for(int z =0; z!=orderNumber[x];z++)
    {
      print(itemName[z+range]+'---------------'+ itemQuantity[z+range].toString());
    }
    range = range + orderNumber[x];
    x++;
  }
  

您不能將大括號放入 for 循環小部件中,我在很長一段時間內遇到同樣的問題,其中一個解決方案是 map 迭代列表。

children: [
    ...restaurantNames.map((i){
      print(i);
      for(int z = 0; z != loadedOrder.orderNumber[x];z++){
        return Text(loadedOrder.itemNames[z + range] + 'X' +loadedOrder.itemQuantity[z + range].toString());
      }
      range = range + orderNumber[x];
      x++;
    }).toList(),
  ],

暫無
暫無

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

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