Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 控件内部循环的颤振_Flutter_Dart - Fatal编程技术网

Flutter 控件内部循环的颤振

Flutter 控件内部循环的颤振,flutter,dart,Flutter,Dart,因此,我试图实现的基本目标是: 但显然,这是不允许的 我正在尝试使用FOR循环加载餐厅项目及其数量值的列表,并使用文本小部件将其显示到应用程序中。但根据我使用的当前逻辑,在显示每个项目名称及其各自列表中的数量之后,我需要迭代并更新x和range的变量。这里的问题是,我不能在小部件中使用FOR循环,因为可以在FOR循环中放置多个语句 下面的代码片段就是我试图实现的逻辑。它类似于我在flifter中实现的代码。FOR-loop部分是我唯一有点纠结的部分。 仍然是一种新的颤振,所以任何帮助或指导将不

因此,我试图实现的基本目标是:

但显然,这是不允许的

我正在尝试使用FOR循环加载餐厅项目及其数量值的列表,并使用文本小部件将其显示到应用程序中。但根据我使用的当前逻辑,在显示每个项目名称及其各自列表中的数量之后,我需要迭代并更新x和range的变量。这里的问题是,我不能在小部件中使用FOR循环,因为可以在FOR循环中放置多个语句

下面的代码片段就是我试图实现的逻辑。它类似于我在flifter中实现的代码。FOR-loop部分是我唯一有点纠结的部分。

仍然是一种新的颤振,所以任何帮助或指导将不胜感激。谢谢大家!

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++;
  }
  
void main()
{
int x=0;
int范围=0;
列出餐厅名称=[‘Jollibee’、‘Chowking’、‘Mcdonalds’];
列表订单号=[3,2,1];
列表项数量=[1,1,2,3,1,3];
清单项目名称=[“快乐Spag”,“鸡肉欢乐”,“桃芒果派”,“超范”,“劳瑞特”,“巨无霸”];
for(餐厅名称中的字符串i)
{
印刷品(一);
对于(intz=0;z!=orderNumber[x];z++)
{
打印(itemName[z+range]+'----'+itemQuantity[z+range].toString());
}
范围=范围+订单号[x];
x++;
}

你不能把大括号放在循环小部件中,我有很长一段时间遇到了同样的问题,解决方法之一就是映射迭代列表

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(),
  ],

你能粘贴你的代码吗,而不是屏幕截图!请发布你的代码而不是图片。注意,我将编辑我的问题并添加一些代码片段。我现在编辑并添加了我试图实现的部分代码:)