1

我有一张地图,我在其中存储键和值对。我已将此地图放入流中,为方便起见,我们将其称为 dataStream。

现在我有一个流构建器,这个流构建器使用 dataStream。我希望仅在更改特定键的值时才构建此流构建器。

目前我的流构建器响应地图中的任何变化。我想指示它仅在地图中某个键的值更改时才更改。这在流构建器中是否可行,如何实现?

return StreamBuilder(
    stream: dataBloc.dataStream,
    builder: (context, snapshot) {
     if(snapshot.hasData){
     Map<String, String> dataMap = snapshot.data;
     // some logic
     }
     return widget;
     }

我想查看此地图中特定键的值是否更改,然后才重建我现有的小部件,保持原样。不要再次构建它

4

1 回答 1

2

您应该能够使用以下方法过滤特定事件where

stream: dataBloc.dataStream.where((item) => /* check criteria */ item['key'] == 'foo')
于 2018-12-07T16:44:44.657 回答