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

Как и для страницы, для каждого компонента FlutterFlow создаёт два файла: класс Widget и класс Model.

инфо
Про пример

Разбор построен на сгенерированном коде демонстрационного приложения EcommerceFlow. Сам код лежит в репозитории на GitHub.

Класс ComponentModel

ComponentModel отвечает за состояние и поведение отдельного компонента на странице. Как и модели страниц, эти классы наследуют FlutterFlowModel, поэтому устроены одинаково. Состояние каждого компонента изолировано, а сам компонент переиспользуется.

Жизненный цикл ComponentModel и его виджета такой же, как у страницы, — см. сгенерированный код страницы.

Действия onComponentLoad

Действия из триггера onComponentLoad попадают в addPostFrameCallback внутри initState — то есть выполняются после того, как дерево виджетов построено.

 @override
  void initState() {
    super.initState();
    _model = createModel(context, () => ProductListPageModel());

    // действия при загрузке компонента
    SchedulerBinding.instance.addPostFrameCallback((_) async {
        await _model.updateTotalCost(context);
        safeSetState(() {});
    });

  }
перевод официальной документации FlutterFlow

обновлено

ESC