Перейти к основному содержимому

Сгенерированный код: Компоненты

Аналогично странице, при создании компонента в 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(() {});
});

}