том, что он возвращает один виджет. А мне нужно асинхронно возвращать список виджетов, который я потом могу вставить в другой список (например children или slivers). Не могу сообразить, возможно ли вообще такое написать? Все виджеты и билдеры во флаттере возвращают один виджет, а мне нужен список. Обернуть список в Row/Column я тоже не могу, потому что это все нужно вставить внутрь SliverList, а там вложенные slivers не будут нормально работать. Есть какие идеи? Спасибо.
Это как? ))
SliverList(delegate: SliverChildListDelegate([Container(), Container()].map((e) => e).toList()))
Список виджетов нужно получать из асинхронной функции. В этом все дело.
Наверняка надо будет вместо future builder где то все это awaitнуть и использовать блок если у тебя есть state
BlocBuilder тоже возвращает один виджет.
Так а зачем так делать то вообще? Нужно получать данные и на основании них уже генерить виджеты
Ну вот мне и нужно вставить 10 виджетов в родительский список. И эти 10 виджетов могут быть построены только по завершении фьючи.
А что тебе мешает обернуть весь этот список в BlocBuilder внутри под конец сделать ...state.mywidgets?
Что-то я туплю. Внутрь BlocBuilder нужно передать обычный builder, который по спецификации не умеет возвращать список.
Так смотри вот список про который ты говоришь все равно возвращается через builder виджета(будь то страницы или ещё что). Вот ты берешь в рут этой страница(в builder) ставишь BlocBuilder и по стейтам рендеришь что хочешь а когда там будет success state ты просто берешь и спредишь виджеты которые приходят с bloc
Ну, идея понятная. Свой StatefulWidget, где в initState() мы фьючу запускаем, на then() вешаем setState(), а в build() спредим. Громоздко, но видимо по другом никак. Спасибо.
Обсуждают сегодня