Flutter-替换列表中的项目

时间:2020-09-05 18:08:04

标签: flutter dart

我有这个int列表,长度为3

这是列表:

List<Tamount> integer= [
 amount(amount: 2, id: '34'),
 amount(amount: 4, id: '12'),
 TotalAmount(amount: 2, id: '54'),
];

我想替换索引2,所以将其替换为4

我已经尝试过了:

integer.isNotEmpty
  ? integer.remove(integer[1].id)
  : null;
integers.insert(1, integer(
  id: DateTime.now().toString(),
  amount:34,
));

但是它不起作用,由于某种原因,它没有将其从列表中删除,而是添加到了列表中。

2 个答案:

答案 0 :(得分:3)

您可以这样做:

integer.isNotEmpty
  ? integer.removeWhere((item)=>item.amount == 4) //removes the item where the amount is 4
  : null;
integers.insert(
  1,
  amount(
    id: DateTime.now().toString(),
    amount:34,
  ));

如果要使用索引删除项目,则可以使用removeAt()方法:

integer.isNotEmpty
  ? integer.removeAt(1) //removes the item at index 1
  : null;
integers.insert(
  1,
  amount(
    id: DateTime.now().toString(),
    amount:34,
  ));

答案 1 :(得分:1)

如果知道要替换的元素的索引,则无需从列表中删除现有元素。您可以按索引分配新元素。

  integer[1] = amount(amount: 5, id: 'new_id');
相关问题