什么是flutter Hive相当于removeWhere?
Posted
技术标签:
【中文标题】什么是flutter Hive相当于removeWhere?【英文标题】:what is flutter Hive equivalent of removeWhere? 【发布时间】:2021-10-01 02:06:39 【问题描述】:如何在 Flutter Hive 中删除 List 的值??
example list = [
record(
name: 'john',
class: 'Coffee',
),
record(
name: 'sarah',
class: 'Coffee',
),
record(
name: 'rala',
class: 'Water',
),
];
如您所见,我有多个值并想删除所有包含咖啡值的记录 但是 Hive dnt 有这样的功能可以做到这一点
编辑:我正在使用 Box.add 函数使用自动增量键添加值 我正在考虑删除 hiveb 中的所有框并将 var 中的所有更新列表放入 Hive,但我愿意接受其他更有效的方式或建议
感谢阅读本文的人
【问题讨论】:
添加您的蜂巢盒定义以及您在其中的 put() 条目的方式。 iam 使用 box.add 方法并自动使用增量键 【参考方案1】:Hive
没有removeWhere
,你应该使用Dart
方法来做某事
【讨论】:
我从字面上清除了 Box,所以值很清楚,但是当我用新键分配新值时,它 dsnt 接受它,因为重复的对象 @TonyHart 您应该通过键或 id 删除,例如使用get
方法【参考方案2】:
所以我根据https://github.com/hivedb/hive/issues/738 到达了 Hive 仓库 如果你的需要和我一样,如果有人需要,我也想分享我的代码
List<BudgetCard> listDelete = localBudget.values.toList();
for (int i = 0; i < listDelete.length; i++)
if (listDelete[i].budgetWallet == walletID)
localBudget.deleteAt(i);
感谢所有回答我问题的人!
【讨论】:
以上是关于什么是flutter Hive相当于removeWhere?的主要内容,如果未能解决你的问题,请参考以下文章
Flutter - 使用新的应用程序版本删除或删除 Hive
Flutter & Hive - 如何在 Hive 中保存重新排序的列表