169 похожих чатов

Всем привет. Сложный вопрос. Есть FutureBuilder, но его проблема в

том, что он возвращает один виджет. А мне нужно асинхронно возвращать список виджетов, который я потом могу вставить в другой список (например children или slivers). Не могу сообразить, возможно ли вообще такое написать? Все виджеты и билдеры во флаттере возвращают один виджет, а мне нужен список. Обернуть список в Row/Column я тоже не могу, потому что это все нужно вставить внутрь SliverList, а там вложенные slivers не будут нормально работать. Есть какие идеи? Спасибо.

11 ответов

25 просмотров
Юджин Флаттер- Автор вопроса

Это как? ))

Юджин Флаттер
Это как? ))

SliverList(delegate: SliverChildListDelegate([Container(), Container()].map((e) => e).toList()))

Юджин Флаттер- Автор вопроса
Руди
SliverList(delegate: SliverChildListDelegate([Cont...

Список виджетов нужно получать из асинхронной функции. В этом все дело.

Наверняка надо будет вместо future builder где то все это awaitнуть и использовать блок если у тебя есть state

Юджин Флаттер- Автор вопроса
Юджин Флаттер
Список виджетов нужно получать из асинхронной функ...

Так а зачем так делать то вообще? Нужно получать данные и на основании них уже генерить виджеты

Юджин Флаттер- Автор вопроса
Dmitry Maslov
Так а зачем так делать то вообще? Нужно получать д...

Ну вот мне и нужно вставить 10 виджетов в родительский список. И эти 10 виджетов могут быть построены только по завершении фьючи.

Юджин Флаттер
Ну вот мне и нужно вставить 10 виджетов в родитель...

А что тебе мешает обернуть весь этот список в BlocBuilder внутри под конец сделать ...state.mywidgets?

Юджин Флаттер- Автор вопроса
Azizulloh Zohidov
А что тебе мешает обернуть весь этот список в Bloc...

Что-то я туплю. Внутрь BlocBuilder нужно передать обычный builder, который по спецификации не умеет возвращать список.

Так смотри вот список про который ты говоришь все равно возвращается через builder виджета(будь то страницы или ещё что). Вот ты берешь в рут этой страница(в builder) ставишь BlocBuilder и по стейтам рендеришь что хочешь а когда там будет success state ты просто берешь и спредишь виджеты которые приходят с bloc

Юджин Флаттер- Автор вопроса
Azizulloh Zohidov
Так смотри вот список про который ты говоришь все ...

Ну, идея понятная. Свой StatefulWidget, где в initState() мы фьючу запускаем, на then() вешаем setState(), а в build() спредим. Громоздко, но видимо по другом никак. Спасибо.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта