[英]Flutter FOR loop inside widget
所以基本上我想要實現的是:
但顯然它在 flutter 中是不允許的。
我正在嘗試使用 FOR 循環加載餐廳項目列表及其數量值,並使用文本小部件將它們顯示到應用程序中。 但是使用我使用的當前邏輯,在顯示每個項目名稱及其各自列表中的數量之后,我需要迭代和更新x和range的變量。 這里的問題是我不能像在普通的 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.