Я использую виджет Dismissible для выполнения некоторых смахиваний на трубу в своем приложении. Это означает, что я, по сути, смахиваю весь свой виджет. Это означает, что у меня нет конструктора ListView с элементами, которые были отклонены. Как мне обработать onDismissed, не помещая все мои элементы в список заранее?
Я уже пробовал просто использовать фальшивый список, где я даю ему идентификатор и просто удаляю его. Но, похоже, он ничего не делает, этот код можно увидеть ниже.
static var uuid = new Uuid();
final dismissRemover = List<String>.generate(50, (i) => "item: '$uuid'");
body: Dismissible(
key: new Key(dismissRemover[0]),
background: Container(
color: Colors.red,
child: Icon(
Icons.thumb_down,
color: Colors.white,
size: 150.0,
),
),
secondaryBackground: Container(
color: Colors.green,
child: Icon(
Icons.thumb_up,
color: Colors.white,
size: 150.0,
),
),
onDismissed: (direction) {
if (direction == DismissDirection.endToStart) {
setState(() {
_newPolitician.performPolitician(true, context, item[_politicianNo]['id'], _collectionName);
dismissRemover.removeAt(0);
});
} else {
setState(() {
_newPolitician.performPolitician(false, context, item[_politicianNo]['id'], _collectionName);
dismissRemover.removeAt(0);
});
}
},
Ты хоть представляешь, как обойти эту проблему?