如何在 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"),
);
}
),
...
我想通过使用迭代器在 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"),
);
}
),
...