首页 > 解决方案 > 如何在不使用 Listview 的情况下在颤动中循环按钮小部件

问题描述

我想循环一个按钮,我正在使用此代码,但它显示错误,我被困在这里 1 天谢谢
我想使用 for 循环,因为这个数据是动态的。

     showDialog(
        barrierDismissible: true,
        context: context,
        builder: (BuildContext context) {
          // return object of type Dialog
          return CupertinoAlertDialog(
            title: Text('Add Location'),
            actions: <Widget>[

              for (var q = 1;q<=2;q++){

              FlatButton(
                child: new Text("Location A"),
                onPressed: () {
                  Navigator.of(context).pop();
                  locationA = 'Location A';
                },
              ),
            }

            ],
          );
        },
      );```


标签: androidiosflutterdart

解决方案


我创建了一个简单的方法,希望能满足您的需求。该方法返回一个列表,该列表使用循环将项目添加到列表中。最后,它返回填充的列表。

showDialog(
    barrierDismissible: true,
    context: context,
    builder: (BuildContext context) {
      // return object of type Dialog
      return CupertinoAlertDialog(
        title: Text('Add Location'),
        actions: _getList(), // try with or without the ()'s
      );
    },
);

// the  method
List<Widget> _getList() {
  List<Widget> temp = [];
  for (var q = 1; q<=2; q++) {
    temp.add(
      FlatButton(
        child: new Text("Location A"),
        onPressed: () {
          Navigator.of(context).pop();
          locationA = 'Location A';
        },
      );
    );
  }
  return temp;
}

推荐阅读