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

Действия

Эффективное управление взаимодействиями с пользователем необходимо для создания интерактивных приложений. Проектирование интерактивности включает два шага:

  1. Отслеживание взаимодействий (триггеры действий)
  2. Реакция на взаимодействия (действия)

Триггеры действий представляют собой конкретное событие, в то время как действия — это функции, выполняемые в ответ на сработавший триггер. Распространенные триггеры включают:

  • On Tap: Срабатывает при касании виджета или конкретно кнопки.
  • On Selected: Срабатывает при выборе опции из выпадающего списка.
  • On Page Load: Срабатывает при загрузке страницы

Действия — это задачи или операции, выполняемые в ответ на событие, обнаруженное триггером.

Редактор потоков действий

Action Flow Editor — это визуальный редактор на основе узлов, который используется для настройки функций, выполняемых в ответ на триггер. Этот редактор упрощает процесс создания и управления бизнес-логикой.

Редактор потоков действий

Триггеры действий

При открытии Action Flow Editor триггеры по умолчанию не добавляются. Чтобы добавить триггер, просто найдите и выберите нужный из доступных вариантов. Панель триггеров действий, расположенная слева от редактора, отображает все добавленные триггеры.

к сведению

Подробнее о триггерах действий и их типах можно узнать здесь.

Предоставлено FlutterFlow

Обратите внимание, что триггеры действий предоставляются FlutterFlow и не создаются пользователем. Вы можете работать только с теми, которые доступны в Action Flow Editor.

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

к сведению

Важно отметить, что логика, определенная в редакторе узлов, связана с выбранным триггером. Это означает, что настроенные действия будут выполняться только при активации именно этого триггера.

Редактор узлов

Эта центральная область редактора предназначена для определения и визуализации логики/действий, которые будут выполняться в ответ на выбранный триггер. Действия располагаются в виде блок-схемы, что облегчает понимание и изменение потока действий.

Действия в редакторе узлов выполняются синхронно. Это означает, что если действие возвращает значение, оно будет доступно для последующих действий в потоке.

Синхронные и асинхронные действия

Синхронные действия выполняются последовательно, каждое ожидает завершения предыдущего. Асинхронные действия выполняются независимо и могут работать параллельно, позволяя другим последующим задачам продолжаться без ожидания их завершения.

Создание действия

Если начального действия нет или если действие уже есть, и вы хотите добавить еще одно, нажав на значок плюса, будут доступны следующие варианты:

  1. Добавить действие: Добавляет один узел действия в поток. Вы можете добавлять несколько синхронных действий последовательно.

  2. Добавить условное действие: Добавляет условный узел с входом для булева выражения и двумя ветвями действий. Действия в каждой ветви будут выполняться в зависимости от оценки булева выражения.

  3. Добавить цикл: Добавляет поток цикла, содержащий входное булево выражение и поток действий. Действия внутри цикла будут выполняться повторно, пока выражение оценивается как истинное (аналогично циклу while).

  4. Добавить параллельное выполнение: Добавляет две ветви потоков действий, которые будут выполняться параллельно.

  5. Вставить действие(я): Позволяет вставить ранее скопированные в буфер обмена действия.

После создания узла действия необходимо указать тип действия в правой панели. Создание узла эквивалентно созданию пустой функции, а указание типа действия — заполнению тела функции желаемой логикой.

Правая панель

Правая панель выполняет две основные функции:

  1. Выбор действий: Выберите конкретные действия, которые хотите добавить в поток действий.
  2. Настройка действий: Настройте свойства, параметры и имена возвращаемых значений для выбранного действия.

Привязка к виджету

В Action Flow Editor значок в левом верхнем углу указывает на виджет, к которому привязан текущий поток действий.

Привязка к виджету

к сведению

Если вы переименуете виджет, новое имя автоматически обновится и будет связано с этим потоком действий. Это упрощает отслеживание логики, связанной с каждым виджетом, обеспечивая ясность и лучшую организацию потоков действий.

Проблемы

Значок ошибки отображает предупреждения и ошибки в любом из потоков действий, привязанных к этому виджету. Обратите внимание, что это не проблемы всего проекта и не проблемы всех потоков действий, а только проблемы, возникшие в потоках действий, привязанных к этому виджету. Это включает все потоки действий на всех триггерах, а не только видимый в данный момент поток на выбранном триггере.

Проблемы

Блоки действий

Значок ромба в Action Flow Editor открывает меню, где можно создавать и редактировать блоки действий. Блоки действий — это повторно используемые потоки действий, которые могут принимать параметры и возвращать значения, способствуя повторному использованию кода и модульности.

action-block.avif

Подробно о блоках действий

Подробнее о различных типах блоков действий и их областях видимости.

Добавление действия [Пример]

Вот краткая демонстрация того, как вы можете добавить действие или несколько последовательных действий к виджету: