我有以下代码来根据Future Builder 返回的项目创建Row窗口小部件
for (int i = 0; i < snapshot.data.length; i++) Row( ) ,
以上将根据snapshot.data
中的项目数创建"行"我试图实现的是根据返回的项目长度创建多个小部件
for (int i = 0; i < snapshot.data.length; i++) {
// for each item create two rows for example
Row( ) ,
Row( ) ,
}
但我得到了以下错误!
the element Type 'set<Row>' can't be assigned to the list 'Widget'
试试这个:
List.generate(snapshot.data.length, (index) => Row( ),),
或者,如果你想在不同的索引中插入不同的小部件,请使用:
List.generate(snapshot.data.length, (index) {
if(index == 0){return Row();}
else if(index == 1){return Column();}
else{return Container();}
),
使用ListView.builder定义itemCount属性的长度。例如
body: ListView.builder
(
itemCount: snapshot.data.length,
itemBuilder: (BuildContext ctxt, int index) {
return Row();
}
)
您可以使用listView.builder
或for in。当您构建小部件时,不能使用大括号