颤动如何删除列表内的地图
Flutter How to remove map inside of List
大家好,我有一张地图列表。我想用 removeWhere()
方法来处理这个。
我的名单在这里:
List<Map<String?, dynamic>> servicesList= [
{
'title': services[0].title,
'price': services[0].price,
},
{
'title': services[1].title,
'price': services[1].price,
},
{
'title': services[2].title,
'price': services[2].price,
},
我这样使用是因为我使用另一个按钮在这个列表中添加了一些地图。
但每当我想 removeWhere()
方法时,我都失败了。
servicesList.removeWhere(
(item) =>
item ==
({
'title': services[0].title,
'price': services[0].price,
}),
);
print(servicesList);
它不起作用。我该如何处理这种方法?
使用 mapEquals
而不是 ==
因为 ==
在技术上是比较指针而不是值,比如
List<Map<String?, dynamic>> servicesList= [
{
'title': 'title0',
'price': 'price0',
},
{
'title': 'title1',
'price': 'price1',
},
{
'title': 'title2',
'price': 'price2',
},];
servicesList.removeWhere(
(item) =>
mapEquals(item,
({
'title': 'title0',
'price': 'price0',
})),
);
print(servicesList);
您还需要导入:
import 'package:flutter/foundation.dart';
试试这个
servicesList.removeWhere(
(item) => item['title'] == services[0].title);
大家好,我有一张地图列表。我想用 removeWhere()
方法来处理这个。
我的名单在这里:
List<Map<String?, dynamic>> servicesList= [
{
'title': services[0].title,
'price': services[0].price,
},
{
'title': services[1].title,
'price': services[1].price,
},
{
'title': services[2].title,
'price': services[2].price,
},
我这样使用是因为我使用另一个按钮在这个列表中添加了一些地图。
但每当我想 removeWhere()
方法时,我都失败了。
servicesList.removeWhere(
(item) =>
item ==
({
'title': services[0].title,
'price': services[0].price,
}),
);
print(servicesList);
它不起作用。我该如何处理这种方法?
使用 mapEquals
而不是 ==
因为 ==
在技术上是比较指针而不是值,比如
List<Map<String?, dynamic>> servicesList= [
{
'title': 'title0',
'price': 'price0',
},
{
'title': 'title1',
'price': 'price1',
},
{
'title': 'title2',
'price': 'price2',
},];
servicesList.removeWhere(
(item) =>
mapEquals(item,
({
'title': 'title0',
'price': 'price0',
})),
);
print(servicesList);
您还需要导入:
import 'package:flutter/foundation.dart';
试试这个
servicesList.removeWhere(
(item) => item['title'] == services[0].title);