Dart // Flutter:如何根据条目内容从列表中删除项目
Dart // Flutter: How to remove Items from List depending on content of entry
在我的 Flutter 应用程序中,我有一个数据库来跟踪用户喜欢和不喜欢的项目。我有函数
List finalFavoritesList;
void queryDb() async {
final db = await database;
final allRows = await db.query(TABLE_FAVORITE);
List finalFavoritesList = allRows.toList(growable: true);
print(finalFavoritesList);
}
根据我的理解,它从 sqflite 数据库创建了一个 dart 列表。 Logcat 打印:
[{id: 0, isFavorite: 0}, {id: 1, isFavorite: 1}, {id: 2, isFavorite: 0}, {id: 3, isFavorite: 1}, {id: 4, isFavorite: 0}, {id: 5, isFavorite: 1}]
现在我想删除所有条目,其中 isFavorite 等于 0,但我不知道如何删除。这个新列表应该有另一个名称。
我想你的问题本身就有答案了!
使用removeWhere
函数。
List favorite = [{'id': 0, 'isFavorite': 0}, {'id': 1, 'isFavorite': 1}, {'id': 2, 'isFavorite': 0}, {'id': 3, 'isFavorite': 1}, {'id': 4, 'isFavorite': 0}, {'id': 5, 'isFavorite': 1}];
favorite.removeWhere((item) => item['isFavorite'] == 0);
print(favorite);
输出:
[{id: 1, isFavorite: 1}, {id: 3, isFavorite: 1}, {id: 5, isFavorite: 1}]
参考:https://api.dart.dev/stable/2.9.3/dart-core/List/removeWhere.html
希望能解决您的问题!
在我的 Flutter 应用程序中,我有一个数据库来跟踪用户喜欢和不喜欢的项目。我有函数
List finalFavoritesList;
void queryDb() async {
final db = await database;
final allRows = await db.query(TABLE_FAVORITE);
List finalFavoritesList = allRows.toList(growable: true);
print(finalFavoritesList);
}
根据我的理解,它从 sqflite 数据库创建了一个 dart 列表。 Logcat 打印:
[{id: 0, isFavorite: 0}, {id: 1, isFavorite: 1}, {id: 2, isFavorite: 0}, {id: 3, isFavorite: 1}, {id: 4, isFavorite: 0}, {id: 5, isFavorite: 1}]
现在我想删除所有条目,其中 isFavorite 等于 0,但我不知道如何删除。这个新列表应该有另一个名称。
我想你的问题本身就有答案了!
使用removeWhere
函数。
List favorite = [{'id': 0, 'isFavorite': 0}, {'id': 1, 'isFavorite': 1}, {'id': 2, 'isFavorite': 0}, {'id': 3, 'isFavorite': 1}, {'id': 4, 'isFavorite': 0}, {'id': 5, 'isFavorite': 1}];
favorite.removeWhere((item) => item['isFavorite'] == 0);
print(favorite);
输出:
[{id: 1, isFavorite: 1}, {id: 3, isFavorite: 1}, {id: 5, isFavorite: 1}]
参考:https://api.dart.dev/stable/2.9.3/dart-core/List/removeWhere.html
希望能解决您的问题!