Flutter 从地图列表中删除项目只读错误

问题描述 投票:0回答:2

我想从

ListView.builder
的列表中删除一个项目,但它说它是只读的。

List<Map> entries = [{'date': '2019-08-10', 'data': 85.0}, {'date': '2019-08-14', 'data': 84.0}];

onPressed: () {
  removeItem(index);
}

void removeItem(index) {
  entries.removeAt(index);
}

Another exception was thrown: Unsupported operation: read-only

这也不起作用:

onPressed: () {
  removeItem(date);
}

void removeItem(date) {
  entries.removeWhere((item) => item['date'] == date);
}
listview flutter dart
2个回答
5
投票

我从中得到了解决方案,链接

entries = List.from(entries)..removeAt("theIndexValue");

0
投票

您可以使用

where
whereNot
方法生成新列表,而不是更新列表,如下所示:

List<Map> updatedEntries = entries.whereNot((item) => item['date'] == date);
© www.soinside.com 2019 - 2024. All rights reserved.