Концепция строителей потока флаттер - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть карта, в которой я храню пару ключ-значение.Я поместил эту карту в поток, который мы для простоты будем называть dataStream.

теперь у меня есть построитель потока, этот построитель потока использует dataStream.Я хочу, чтобы этот построитель потоков создавался только при изменении значения определенного ключа.

В настоящее время мой строитель потоков реагирует на любые изменения на карте.Я хочу, чтобы он менялся только при изменении значения определенного ключа на карте.Возможно ли это в построителе потоков и как?

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

Я хочу посмотреть, изменится ли значение определенного ключа на этой карте, только затем пересоберите существующий виджет, оставив его как есть.Не строить его снова

1 Ответ

0 голосов
/ 07 декабря 2018

Вы должны иметь возможность фильтровать определенные события, используя where:

stream: dataBloc.dataStream.where((item) => /* check criteria */ item['key'] == 'foo')
...