Сгенерированный код: Компоненты
Аналогично странице, при создании компонента в FlutterFlow автоматически генерируются два файла: класс Widget и класс Model.
В этом руководстве используются примеры из сгенерированного кода демонстрационного приложения EcommerceFlow. Чтобы просмотреть сгенерированный код напрямую, ознакомьтесь с репозиторием на GitHub.
Класс ComponentModel
Классы ComponentModel отвечают за управление состоянием и поведением отдельных компонентов, используемых на странице. Эти классы расширяют класс FlutterFlowModel, обеспечивая единообразную структуру и общую функциональность для всех моделей компонентов. Это гарантирует изоляцию состояния каждого компонента и его повторное использование, что упрощает поддержку и масштабирование приложения.
Жизненный цикл ComponentModel и связанного с ним класса виджета следует той же структуре, что и у страницы. Подробнее см. в документации по сгенерированным страницам.
Действие onComponentLoad: Сгенерированный код
Когда вы определяете действия для триггера действия onComponentLoad компонента, эти действия добавляются внутри метода addPostFrameCallback в методе initState страницы. Это гарантирует выполнение действий только после сборки начального дерева виджетов.
@override
void initState() {
super.initState();
_model = createModel(context, () => ProductListPageModel());
// On component load action.
SchedulerBinding.instance.addPostFrameCallback((_) async {
await _model.updateTotalCost(context);
safeSetState(() {});
});
}