Действие

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

Особенности:

  • свойство доступно во втором рантайме;
  • функция свойства типа Действие всегда асинхронная. Поэтому используйте оператор await.

Настройки в дизайнере

Если вы выберете тип Действие, то в карточке свойства на вкладке Основные настройки, помимо полей, одинаковых для всех свойств, отобразятся дополнительные.

Вкладка «Основные настройки»

Здесь вы можете заполнить следующие поля:

type-action-1

  • Возвращаемый тип — укажите тип выходного значения функции. Оставьте поле пустым, если функция не возвращает значение;
  • Тип входного параметра — выберите тип входного значения функции. Функция может иметь только один входной параметр.
    Если поле оставить пустым, функция не принимает параметры. Чтобы передать в функцию несколько значений, укажите в этом поле структуру обмена данными;
  • Входное — опция доступна на карточке свойства страницы или компонента. Включите её, чтобы использовать свойство типа Действие для функции обратного вызова;
  • Значение по умолчанию* —  поле обязательно для заполнения. Здесь вы можете:
  • type-action-2 — раскрыть список и выбрать существующую функцию. В списке доступны только те функции, тип входного и выходного параметра которых совпадает с настройками Возвращаемый тип и Тип входного параметра;
  • type-action-3 —  добавить новую клиентскую или серверную функцию;
  • type-action-4 — редактировать добавленные функции.

Пример использования свойства типа «Действие»

Вы можете применить переменную типа Действие, чтобы передать код одного компонента в качестве параметра другого компонента.

Рассмотрим пример. Есть Компонент А с методом Save и Компонент В с кнопкой Сохранить. Вызовем действие Компонента А при нажатии кнопки в Компоненте В. Для этого:

  1. В конструкторе интерфейсов создайте Компонент В и добавьте в него свойство типа Действие со следующими параметрами:
  • Отображаемое имя — укажите название SaveAction;
  • Тип — выберите Действие;
  • Возвращаемый тип — оставьте пустым;
  • Тип входного параметра — оставьте пустым;
  • Значение по умолчанию — создайте пустую клиентскую функцию SaveAction().
  1. Перейдите на вкладку Компоненты и добавьте кнопку со следующими параметрами:
  • Текст кнопки — укажите значение Сохранить;
  • Действие при нажатии — создайте на клиенте функцию OnClick():

public async Task OnClick() { await Context.SaveAction(); }

type-action-5

  1. Сохраните и опубликуйте Компонент В, а затем перейдите на главную страницу, нажав значок type-action-7 в левом нижнем углу.
  2. На этой странице создайте Компонент А. Откроется страница конструктора созданного компонента.
  3. Добавьте на форму Компонент В. Для этого нажмите значок type-action-8в левом меню, откройте вкладку Компоненты и перенесите Компонент В на форму.
    type-action-6
  4. На форме Компонента А перейдите на вкладку Настройки представления компонента В и укажите входной параметр SaveAction в поле Входные.
  5. Сохраните и опубликуйте Компонент А.

Теперь из Компонента В можно вызывать действие Компонента А.

О других примерах использования свойства типа Действие в сценариях читайте в Базе знаний.

Нашли опечатку? Выделите текст, нажмите ctrl + enter и оповестите нас