如何从 Dart 中的列表中删除地图 |扑
How to remove Map from list in Dart | Flutter
我有一个 json 列表。从这里我想删除一个特定的项目。下面是我的代码。
final List _vehicleList = [
{
'vehicleNumber': 'KL-14-V-5208',
'vehicleType': 'Two Wheeler',
},
{
'vehicleNumber': 'KL-13-H-8880',
'vehicleType': 'Four Wheeler',
},
{
'vehicleNumber': 'KL-14-M-6889',
'vehicleType': 'Three Wheeler',
},
];
这是我的清单。当我按下删除按钮时,我想从这里删除基于 vehicleNumber 的项目。我正在使用列表视图生成器。当我在按下按钮后打印列表时没有任何反应
这是我的 UI 代码。
return Column(
children: [
Padding(
padding: const EdgeInsets.all(12.0),
child: Text(
_vehicleList[index]['vehicleNumber'],
),
),
Padding(
padding: const EdgeInsets.all(12.0),
child: Text(
_vehicleList[index]['vehicleType'],
),
),
GestureDetector(
onTap: () {
print('Deleted');
_vehicleList.removeAt(_vehicleList[index]);
print(_vehicleList);
},
child: const Padding(
padding: EdgeInsets.all(12.0),
child: Icon(
FontAwesomeIcons.timesCircle,
color: Colors.redAccent,
),
),
),
],
);
你应该这样改;
之前;
_vehicleList.removeAt(_vehicleList[index]);
之后
_vehicleList.removeAt(index);
有关如何使用“removeAt”方法的文档。 https://api.flutter.dev/flutter/dart-core/List/removeAt.html
试试下面的代码希望对你有帮助。只需传递您的索引
_vehicleList.removeWhere((element) => element["vehicleNumber"] == 'KL-14-V-5208');
我有一个 json 列表。从这里我想删除一个特定的项目。下面是我的代码。
final List _vehicleList = [
{
'vehicleNumber': 'KL-14-V-5208',
'vehicleType': 'Two Wheeler',
},
{
'vehicleNumber': 'KL-13-H-8880',
'vehicleType': 'Four Wheeler',
},
{
'vehicleNumber': 'KL-14-M-6889',
'vehicleType': 'Three Wheeler',
},
];
这是我的清单。当我按下删除按钮时,我想从这里删除基于 vehicleNumber 的项目。我正在使用列表视图生成器。当我在按下按钮后打印列表时没有任何反应 这是我的 UI 代码。
return Column(
children: [
Padding(
padding: const EdgeInsets.all(12.0),
child: Text(
_vehicleList[index]['vehicleNumber'],
),
),
Padding(
padding: const EdgeInsets.all(12.0),
child: Text(
_vehicleList[index]['vehicleType'],
),
),
GestureDetector(
onTap: () {
print('Deleted');
_vehicleList.removeAt(_vehicleList[index]);
print(_vehicleList);
},
child: const Padding(
padding: EdgeInsets.all(12.0),
child: Icon(
FontAwesomeIcons.timesCircle,
color: Colors.redAccent,
),
),
),
],
);
你应该这样改;
之前;
_vehicleList.removeAt(_vehicleList[index]);
之后
_vehicleList.removeAt(index);
有关如何使用“removeAt”方法的文档。 https://api.flutter.dev/flutter/dart-core/List/removeAt.html
试试下面的代码希望对你有帮助。只需传递您的索引
_vehicleList.removeWhere((element) => element["vehicleNumber"] == 'KL-14-V-5208');