我有一张地图,其中存储键和值对。我将此地图放在了一个流中,为方便起见,我们将其称为dataStream。
现在我有一个流生成器,此流生成器使用dataStream。我希望仅在更改特定键的值时才能构建此流生成器。
当前,我的信息流生成器会响应地图中的任何更改。我想指示它仅在地图中某个键的值更改时更改。这在流生成器中可行吗?
return StreamBuilder(
stream: dataBloc.dataStream,
builder: (context, snapshot) {
if(snapshot.hasData){
Map<String, String> dataMap = snapshot.data;
// some logic
}
return widget;
}
我想查看此映射中特定键的值是否发生更改,然后仅重建现有的窗口小部件,保持原样。不要再构建它
答案 0 :(得分:1)
您应该可以使用where
过滤特定事件:
stream: dataBloc.dataStream.where((item) => /* check criteria */ item['key'] == 'foo')