Свойства компонента холста (предварительная версия)
Компоненты холста позволяют разработчикам создавать различные типы свойств для передачи значений или логики между компонентом и приложением, в котором он размещен. Свойства являются неотъемлемой частью создания интерактивных и многократно используемых компонентов.
Внимание!
- Это предварительная версия функции.
- Предварительные версии функций не предназначены для использования в производственной среде, а их функциональность может быть ограничена. Для этих функций действуют дополнительные условия использования и они доступны перед официальным выпуском, чтобы клиенты могли досрочно получить доступ и предоставить отзывы.
Предварительные требования
Чтобы эту функцию можно было использовать, ее необходимо включить в настройках приложения.
Откройте приложение на основе холста для редактирования в Power Apps Studio. На панели команд выберите Параметры>Обновления.
На вкладке Предварительная версия найдите и включите параметры Расширенные свойства компонента.
Типы свойств
Разработчикам доступно четыре типа свойств:
- Свойства данных: свойства данных относятся к данным, например это может быть цвет или текстовое значение. Свойство Данные может быть установлено как Ввод или Вывод, что указывает, предоставляет ли компонент данные приложению (Вывод) или приложение предоставляет данные компоненту (Ввод). Свойства Данные — это единственные свойства, которые участвуют в потоке данных приложения.
- Свойства функции: свойства функции связаны с логикой, такой как выполнение вычислений на основе определенных параметров или изменение текста. Свойство Функция может быть установлено как Ввод или Вывод, что указывает, предоставляет ли компонент функцию приложению (Вывод) или приложение предоставляет функцию компоненту (Ввод). Свойства Функция не участвуют в потоке данных приложения и не могут использовать переменные компонента или приложения.
-
Свойства действия: свойства действия — это тип свойства, который имеет дело с логикой и ведет себя как функцияВывод. Таким образом в компоненте определяется логика, и эта логика может использовать связанные выражения и манипулировать коллекциями или переменными ("поведение"). Например, свойство
Clear()
Действие может предоставлять функциональность, которую приложение может вызывать для очистки некоторых значений в компоненте, а свойствоSave()
Действие может изменять источник данных. -
Свойства событий: свойства событий — это категория свойств, которая включает в себя логику и функции в качестве функцииВвод. Таким образом в приложении определяется логика, которую компонент может вызывать. И эта логика может использовать связанные выражения и манипулировать коллекциями или переменными ("поведение"). Обычно имена этих свойств соответствуют событию, например
OnSelect
илиOnChanged
.
Свойство данных
Свойство данных работает очень легко. Стандартные элементы управления в приложениях обычно имеют несколько свойств данных для установки значений по умолчанию, цвета текста, размера текста и т. д. Рассмотрим простой пример, в котором мы хотим сделать свойства элемента управления в компоненте доступными для хост-приложения. В этом примере наш компонент называется Component1
. Мы поместим внутри компонента ползунок. У нас будет свойство Ввода, чтобы получить цвет из приложения-потребителя, и свойство Вывода, в котором компонент может сообщить приложению, каково текущее значение ползунка. В следующем примере предполагается, что компонент содержит элемент управления Ползунок с именем Slider
.
- На панели свойств компонента выберите Создать пользовательское свойство.
- На панели Новое пользовательское свойство введите отображаемое имя
Slider Color
. - Выберите Тип свойства равный Данные и выберите для Определения свойства значение Ввод.
- Наконец, в раскрывающемся списке Тип данных выберите Цвет.
- Щелкните Создать.
Затем выберите элемент управления Slider1
Ползунок. Найдите его свойство ValueFill и в строке формул введите Component1.SliderColor
.
Component1
относится к имени компонента, а SliderColor
является именем свойства, которое мы добавили ранее.
Теперь у компонента есть свойство SliderColor
, которое можно задать в приложении-потребителе, чтобы передать цвет в компонент для установки свойства ValueFill ползунка.
Мы также хотим предоставлять значение ползунка приложению-потребителю. Для этого мы добавим свойство Вывода.
- На панели свойств компонента выберите Создать пользовательское свойство.
- На панели Новое пользовательское свойство введите отображаемое имя
Slider Value
. - Выберите Тип свойства равный Данные и выберите для Определения свойства значение Вывод.
- Наконец, в раскрывающемся списке Тип данных выберите Число.
- Щелкните Создать.
Когда свойство Данные является Выводом, компонент предоставляет значение приложению-потребителю. Чтобы установить формулу для этого, нам нужно установить новое свойство SliderValue
в компоненте равным свойству Значение ползунка.
- На панели свойств компонента выберите свойство
Slider Value
. - В строке формул замените значение по умолчанию
100
на следующую формулу:Slider1.Value
.
Теперь свойство SliderValue
компонента будет отражать значение ползунка внутри компонента, которое затем можно будет прочитать из приложения-потребителя.
Свойство функции
Свойство функции содержит выражение, которое возвращает значение. Обычно функция принимает некоторые аргументы, которые используются для вычисления или определения возвращаемого значения.
Заметка
Свойства функций в настоящее время не могут обращаться к переменным или значениям и свойствам компонентов и не могут инициировать поток данных. Любые обязательные значения должны быть переданы в качестве аргументов.
Функция Вывода — это простой способ создать пользовательскую функцию для Power Apps. Компонент определяет функцию Вывода с помощью выражения, которое принимает некоторые аргументы и возвращает значение. Затем эту функцию можно использовать в приложении, используя имя компонента (например, Component1
) и вызов Component1.MyFunction(arg1, arg2)
.
Функция Ввода — это способ для приложения-потребителя предоставить логику компоненту, подобно указателю на функцию или функции обратного вызова. Например, компонент может иметь дело с именами людей и иметь функцию ввода с аргументами firstname
и lastname
и возвращать строку. Приложение может определить возвращаемое функцией выражение $"{firstname} {lastname}"
или $"{lastname}, {firstname}"
. Компонент может просто вызвать функцию, предоставленную разработчиком приложения, и использовать возвращенную строку.
Свойство действия
Свойства действий аналогичны свойствам функции типа Вывод, но они допускают формулы побочных эффектов и цепочки выражений. У компонента может быть свойство действия с именем AddRecord
, которое позволяет приложению добавить запись в коллекцию внутри компонента, или действие Reset
, очищающее переменные или коллекции внутри компонента.
В примере с ползунком (Свойство данных выше) мы можем добавить свойство действия ResetValue
, чтобы вернуть ползунок к значению по умолчанию. Для этого можно использовать формулу Reset( Slider1 )
. Теперь экземпляры нашего компонента в приложении могут вызывать Component1.ResetValue()
, чтобы вернуть ползунок к значению по умолчанию.
Свойство события
В стандартных элементах управления есть много стандартных свойств типа Событие, которые похожи на свойства функции типа "Ввод".
OnSelect на кнопке — наиболее очевидный пример. Компонент может определять любое количество свойств событий и вызывать эти события как функцию. Например, компонент с элементом управления "кнопка" может иметь именованное свойство события OnButtonClicked
. В элементе управления кнопкой OnSelect компонент может вызывать свое свойство Component1.OnButtonClicked()
. Затем приложение-потребитель может определить собственную логику для этого свойства, чтобы оно действовало при нажатии кнопки внутри компонента.
Значения по умолчанию для свойств или аргументов
Значения по умолчанию могут предоставлять значение по умолчанию для аргумента или свойства, если оно не установлено. Для некоторых типов свойств это не имеет смысла. Однако в некоторых случаях их можно использовать для показа ожидаемой схемы записи. При предоставлении записи по умолчанию в качестве ожидаемой схеме вы устанавливаете тип записи.
Например, свойство действия с именем AddRecord
принимает запись для добавления в локальную коллекцию. Чтобы предоставить схему ожидаемой записи, разработчик должен добавить значение по умолчанию для аргумента этого свойства AddRecord
.