int ticket = 0;
List<Painting> paintingList = [
Painting(
title: 'Giacomo Amiconi',
subTitle: 'Jacob and Rachel',
artSubtitle: 'National Museum, Warsaw',
artTitle: '18th Century',
imageAsset:
'https://upload.wikimedia.org/wikipedia/commons/0/0a/Amigoni_Jacob_and_Rachel.jpg',
),
];
return Expanded(
child: ListView.separated(
separatorBuilder: (BuildContext context, int index) {
return SizedBox(height: 10);
},
scrollDirection: Axis.vertical,
shrinkWrap: true,
itemCount: paintingList.length,
itemBuilder: (context, index) {
Painting model = paintingList[index];
return Padding(
padding: const EdgeInsets.all(8.0),
child: Card(
elevation: 5,
child: Column(
children: [
ListTile(
leading: Padding(
padding: const EdgeInsets.only(top: 8),
child: Icon(Icons.brush, color: orange),
),
title: Text(
model.title!,
style: artTitle,
),
subtitle: Text(
model.subTitle!,
style: artSubtitle,
),
),
Image.network(
model.imageAsset!,
),
ListTile(
title: Text(
model.artTitle!,
style: artTitle,
),
subtitle: Text(
model.artSubtitle!,
style: artSubtitle,
),
trailing: Text('$ticket'),
),
Row(
children: [
Container(
child: GestureDetector(
onTap: () {
setState(() {
ticket++;
});
},
child: Icon(Icons.add)))
],
)
],
)),
);
},
),
);
我创建了一个名为Painting的列表,并分配了一些值 为了避免代码混乱,我没有添加我创建的另外两个Painting()。 我在绘画中创建的。我的目标是创建一个添加按钮,并在每次用户点击它时增加它(就像向购物车添加产品)。当我这样做时,是的,我可以做增加。但我创建的列表在其所有元素中都是增加的。我只想增加或减少我点击它旁边的添加按钮时的列表元素。
1条答案
按热度按时间6kkfgxo01#
可以使用list的
insert
方法在特定索引处添加项。上面的行将在单击的项目旁边添加相同的项目。
对于删除特定索引处的项目,您可以使用
removeAt
方法来列出。