У меня есть простое приложение с двумя вкладками, я пытаюсь использовать шаблон блока для перемещения данных.
Поток 1: 1. Приложение запускает блок, созданный с затравленным значением 2. Метод сборкизапустить для страницы и данные показывает 3. Пользователь переключается на другую вкладку 4. Пользователь переключается обратно, в этом случае данные не отображаются, поскольку пар уже был прочитан один раз.
Одним из вариантов будет повторная подписка наотправьте начальное значение еще раз.
Поток 2: 1. Блок запускает приложение, создается с засеянным значением 2. Для страницы запускается метод сборки, и данные показывают 3. Пользователь изменяет фильтры - которые запускают потокданные загружаются 3. Пользователь переключается на другую вкладку 4. Пользователь переключается обратно, в этом случае данные не отображаются, поскольку пар уже был прочитан один раз.
В этом случае я хочу сохранить фильтрна месте и не хотят использовать начальное значение
Bloc
class DemoBloc {
final DemoApi demoApi;
Stream<String> _results = Stream.empty();
Stream<String> get results => _results;
BehaviorSubject<String> _tabName =
BehaviorSubject<String>.seeded('abc');
// BehaviorSubject<String> _tabName =
// BehaviorSubject<String>();
Sink<String> get tabName => _tabName;
DemoBloc(this.demoApi) {
print('initialized');
_results = _tabName
.asyncMap((tab) => tab)
.asBroadcastStream();
}
void dispose() {
_tabName.close();
}
}