С помощью этого действия вы можете вызывать действия, определенные на странице (т.е. вне компонента), из виджета компонента.

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

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

бе 1
бе 2

Добавление действия обратного вызова Execute Callback

Давайте создадим пример, который загружает изображение при нажатии на виджет кнопки (внутри компонента).

Поскольку мы должны отобразить загруженное изображение на виджете страницы, мы не будем добавлять действие загрузки непосредственно на кнопку. Вместо этого мы передадим действие загрузки со страницы и используем действие Execute Callback для запуска действия загрузки. Наконец, мы будем использовать URL-адрес загруженного файла для отображения изображения на странице.

Вот как это выглядит в готовом виде:

бе 3

Ниже приведены пошаговые инструкции:

  1. Определите параметр для компонента
  2. Передайте действие от страницы к компоненту
  3. Триггер выполнения действия обратного вызова

1. Определение параметра на компоненте

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

В настоящее время вы можете добавить только один параметр этого типа (Action).
бе 4

2. Передача действия от страницы к компоненту

Посмотрите, как передать данные со страницы в компонент. Примечание: Чтобы передать действие, откройте редактор потока действий в новом всплывающем окне, и здесь вы можете добавить действие Upload.

бе 5

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

бе 6

3. Запуск действия обратного вызова Execute

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

  • Выберите виджет внутри компонента.
  • Выберите Actions на панели свойств (правое меню) и нажмите + кнопку Add Action.
  • Найдите и выберите действие Execute Callback (в разделе UI Interactions).
  • Установите Callback на имя параметра (типа Action), который получает действия извне.
бе 7