可以说列表被称为 itemList
首先,我们需要一个列表以列出组数。由于在中重复了组号itemList
,因此无法直接使用该组号为每个组构建卡。因此,我们可以将所有groupNo
从添加itemList
到中Set
(因为Set将删除所有重复的值)。
我们首先声明一个 Set
Set groupSet = Set();
之后,我们创建一个readGroup()
将在以下位置声明的函数initState
readGroup() {
setState((){
itemList.forEach((item){
groupSet.add(item.groupNo);
});
});
}
现在,我们将用于ListView.builder
为每个组创建一张卡。在构建器内部,我们将使用for
循环来填充各自卡中每个组的项目。
注意:我们不使用的组号,Set
因为Set
不能保证项目的顺序。因此,我们改为使用index + 1
。
ListView.builder(
itemCount: groupSet.length,
itemBuilder: (context, index) {
return Column( children:<Widget>[
Text("Group "+ (index + 1).toString()),
SizedBox(height:10),
Row(children: <Widget>[
for(item in List) if(item.groupNo = index + 1)
Text(item.sales)
]);
]);
}
);