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

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

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

11 ответов

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

Это как? ))

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

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() спредим. Громоздко, но видимо по другом никак. Спасибо.

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

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

Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
48
Всем привет! Скажите, никто не пытался уменьшить размер процесса ssl, которые ассоциируется с открытым соединением (не помню точное название этого процесса, но там была какая-...
Алексей
20
а проверьте, собирается ли у кого сейчас транк лазаря через делюкс? у меня вот: fpcupdeluxe: info: Lazarus Native Installer (BuildModuleCustom: UserIDE): LazBuild: building Us...
Iluha Companets
20
Мне тут приспичило встроить в программу форматировние текста SQL, расставить переносы строк и отступы так, чтобы лучше читалось. Я что-то свое изобразил, оно после ключевых сл...
Sergey Bodrov
11
This is a big issue. Just by being a citizen of a country, you are denied to contribute to Open Source software: https://youtu.be/L5Ec5jrpLVk?si=1iIuHnMPbCB4anV-
Sharuzzaman Ahmat Raslan
72
добрый день. возможно ли изменить цвет окон лазаруса? Как?
Budemposmotret
35
Господа, а кто-нибудь сталкивался с размещением на TTabControl/TTabSheet множества контролов (> 100) с последующими External: Access violation? Вот буквально на ровном месте. ...
Dmitry
29
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Добрый день. Опять снова хочу обратиться к вам за помощью. После создания проэкта stack new, lazy.nvim + nvim-lspconfig/haskell-tools + hlint, ormolu из mason + hls из ghcup ...
Nannk
8
Does anyone have some zeroday's left?
Wito!d ♥️🩷
44
Карта сайта