问题描述
文档讨论了监听记录,但是如何监听记录中的单个字段?假设记录包含地图。
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,您只能侦听整个记录更改(或存储中的查询),而不能侦听记录中的单个字段更改。附带说明,获取“完整”记录并不昂贵,因为该记录已准备好在内存中使用。