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