问题描述
我使用带有 Flutter 的 Hive 将带有键的联系人存储为字母数字字符串,每个联系人数据都是一个带有时间戳的地图
方框行 =
Key. => Value
'abc123' => {'name': 'JK','country':'GB','timestamp': '568'},'etergb' => {'name': 'FS','country':'DE','timestamp': '425'}
'546hfg' => {'name': 'TD','timestamp': '687'}
现在可以使用 where country=GB 条件过滤这些并按 map.item.timestamp ASC/DESC 对行进行排序
解决方法
对于过滤,您可以使用 For 循环或 Map。
您可以执行排序。下面是一个例子。
var items = box.values.toList();
items.sort((a,b) => a.name.compareTo(b.name));
@HiveType(typeId: 0)
class CategoryModel extends HiveObject {
@HiveField(0)
String id;
@HiveField(1)
String name;
//...
CategoryModel(this.id,this.name);
}