微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Sembast记录中的映射内监听单个值?

如何解决如何在Sembast记录中的映射内监听单个值?

文档讨论了监听记录,但是如何监听记录中的单个字段?假设记录包含地图。

假设我有一个User类,如下所示:

class User {

final String uid; // used as key in Sembast
final String name;
bool isverified;

/// Used to store data to Sembast
Map<String,dynamic> toMap() => {
   'uid': uid,'name': name,'isverified': isverified,};


}

当我将其保存在本地时,

final _store = stringMapStoreFactory.store('userStore');

// Store data:
await _store.record(user.uid).put(database,user.toMap());

然后我要在页面中的某处收听isverified字段的更改,而无需获取整个User信息。我该怎么办?

因为_store.record(user.uid).onSnapshot(database)返回该Stream<RecordSnapshot>类的全部数据中的User

谢谢

解决方法

类似于firestore,您只能侦听整个记录更改(或存储中的查询),而不能侦听记录中的单个字段更改。附带说明,获取“完整”记录并不昂贵,因为该记录已准备好在内存中使用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。