Быстрый старт
Это короткое практическое упражнение знакомит с основными понятиями FlutterFlow. Вы соберёте счётчик количества товара — блок, которым покупатель выбирает, сколько единиц добавить в корзину.
- Аккаунт FlutterFlow.
- Браузер.
- 15–20 минут.
Вот что получится в итоге:

Чему вы научитесь
- Собирать вёрстку из виджетов.
- Настраивать их оформление.
- Добавлять интерактивность через действия.
- Хранить состояние страницы и менять его в ответ на действия пользователя.
- Запускать и проверять приложение.
Порядок работы:
- Склонировать стартовый проект
- Собрать интерфейс
- Настроить стили
- Добавить состояние
- Запустить приложение
1. Стартовый проект
Чтобы не тратить время на подготовку экрана, возьмите готовый проект. Откройте проект FlutterFlow Quickstart, нажмите Clone — копия появится в вашем аккаунте.
Если хотите начать с пустого проекта, посмотрите статью Создание проекта.

После клонирования вы увидите страницу с фотографиями товара и описанием. К ней вы и добавите выбор количества.

2. Интерфейс
Счётчик собирается в дереве виджетов страницы товара из обычных элементов вёрстки и отображения.
- Откройте страницу товара и найдите блок под описанием.
- Добавьте Container — в нём будет жить счётчик.
- Внутрь контейнера положите Row.
- Добавьте виджет Text с подписью «Quantity».
- Добавьте элементы управления: уменьшение, текущее значение, увеличение.
- Расположите виджеты так, чтобы подпись была слева, а счётчик — справа.
Подробнее — в статьях Сборка вёрстки и Обзор виджетов.
3. Стили
Теперь приведите счётчик к оформлению остальной страницы. Настройки выделенного виджета живут в панели свойств.
- Настройте отступы и выравнивание у Row.
- Выделите контейнер счётчика и задайте фон, внутренние отступы, размеры и скругление углов.
- Оформите подпись «Quantity» и значение так, чтобы их было легко читать.
- Подберите иконки, цвета и размеры для кнопок уменьшения и увеличения.
- Сравните результат с превью из начала статьи и доведите мелочи.
4. Состояние
Интерфейс готов — пора сделать его живым. За это отвечает переменная состояния страницы: она хранит данные, которые меняются по ходу работы пользователя с экраном. В нашем случае — текущее количество товара, которое обновляется при нажатии на «плюс» и «минус».
4.1. Переменная состояния
Добавьте переменную состояния страницы, в которой будет храниться количество:
- Выделите корневой виджет страницы в дереве виджетов.
- Откройте настройки состояния страницы и добавьте новое поле.
- Назовите его
quantity, тип — Integer, начальное значение —1. - Выделите виджет Text, который показывает количество.
- Возьмите его значение из Page State > quantity.
Как это устроено подробнее, описано в разделе Создание состояния страницы.
4.2. Изменение переменной
Значение quantity меняют действия на кнопках:
- Выделите кнопку увеличения и добавьте действие On Tap.
- Выберите Update Page State, укажите
quantityи задайте ему текущее значение плюс1. - Выделите кнопку уменьшения и добавьте такое же действие On Tap.
- Задайте
quantityтекущее значение минус1. - Убедитесь, что обе кнопки меняют текст, привязанный к
quantity.
Подробности — в статьях Редактор действий и Обновление состояния страницы.
5. Запуск
Проверить работу счётчика быстрее всего в Test Mode: FlutterFlow поднимает веб-версию приложения и подтягивает в неё изменения из конструктора.
- Выберите Test Mode в меню слева.
- Дождитесь запуска тестовой сессии.
- Понажимайте «плюс» и «минус» — количество на экране должно меняться.
Есть и Run Mode: он собирает полноценную сборку с реальными данными, которой можно поделиться с участниками проекта. Сборка занимает больше времени и hot reload в ней не работает, поэтому для быстрой проверки правок она не годится.
Готово — первое приложение на FlutterFlow собрано.
Проверьте себя
Прежде чем идти дальше, убедитесь, что:
- начальное количество отображается верно;
- кнопка увеличения увеличивает значение;
- кнопка уменьшения уменьшает его;
- вёрстка не съезжает при смене значения;
- всё это работает в Test Mode.
Что дальше
Продолжить стоит с этих статей:
Если что-то не работает
Пройдите шаги ещё раз и сверьте настройку каждого виджета и действия с описанием выше — почти все затыки на этом этапе сводятся к пропущенному шагу.
Если это не помогло, задайте вопрос на форуме сообщества или напишите в поддержку FlutterFlow.