如何在 Flutter 中使用像 'for' 这样的迭代器来制作 Widget?

How can I make Widget using iterator like 'for' in Flutter?

我想通过使用迭代器在 ListView 中制作一些小部件,如下例所示,

for(int i = 1; i < 3; i++ ){
 Text('hello world'),
}

但不幸的是它不起作用,向我显示此错误消息。

The element type 'Set<Text>' can't be assigned to the list type 'Widget'.

我该如何解决这个问题?

感谢您关心我的问题。

对于 ListView 你可以使用 List.generate.

...
body: ListView(
  children: List.generate(
    10,
    (index) => ListTile(
      title: Text(index),
    ),
  ),
),
...

如果你是传统的并且想使用 for 那么就这样去做,

...
body: ListView(
  children:[ 
    for(int i = 0; i < 5; i++)
    ListTile(title:Text("$i")),
  ]
),
...

如果您的列表很大,请考虑使用 ListView.builder。为什么?因为它只渲染屏幕上可用的小部件,加载速度非常快。这是如何使用它,

...
body: ListView.builder(
  itemCount: 20,
  itemBuilder: (context, index) {
    return ListTile(
      title: Text("$index"),
    );
  }
),
...