Динамические потомки
У виджетов, которые держат несколько потомков, есть вкладка Generate Dynamic Children: она создаёт по одному потомку на каждый элемент переменной типа List.
Это основной способ вывести на экран то, что пришло из вызова API, запроса к Firebase или лежит в переменной состояния.
Такую вкладку имеют Column, Row, Stack, ListView, GridView и PageView.
Разберём на примере: переменная App State с именем categoryList хранит список категорий товаров, и мы привязываем её к ListView.
В демонстрационном приложении заранее заведён свой тип данных Category с полями categoryImg и categoryName. Переменная categoryList имеет тип List<Category> — она и служит источником для ListView.
Каждый элемент списка попадает в переменную цикла (здесь она называется allCategoriesList), и из неё берутся значения для потомков. В примере ListView создаёт по экземпляру на категорию, а внутри каждого — Column с круглым контейнером и текстом.
Разница между экземплярами и классами разобрана здесь.
Настраивать нужно только первого потомка — привязать его виджеты к полям переменной цикла. Остальные повторят его один в один. Потомков будет столько, сколько элементов в списке, если не ограничить их число полем Max Items на той же вкладке.
Как задать источники значений для виджетов первого потомка: