Преглед компоненти подлоге
Напомена
- Овај одељак садржи објашњења о компонентама подлоге које обухватају могућности проширивости корисничког интерфејса са мало кодирања. Професионални програмери такође могу да користе Power Apps component framework за израду компоненти кода.
- Компоненте подлоге се могу користити и у апликацијама заснованим на моделу помоћу прилагођених страница и библиотеке компоненти. Још информација: Додавање компоненти подлоге у прилагођену страницу у апликацији заснованој на моделу
Компоненте су саставни елементи апликација са подлогом за вишекратну употребу, тако да креатори апликација могу да креирају прилагођене контроле које ће се користити унутар апликације или у разним апликација помоћу библиотеке компоненти. Компоненте могу да користе напредне функције као што су прилагођена својства и омогућавање сложених могућности. Овај чланак представља концепте компоненти и неке примере.
Компоненте су корисне у стварању већих апликација које имају сличне обрасце контрола. Ако ажурирате дефиницију компоненти унутар апликације, све инстанце у апликацији одражавају ваше промене. Компоненте такође смањују дуплирање напора елиминишући потребу за копирањем/лепљењем контрола и побољшавајући перформансе. Компоненте такође помажу у креирању развоја у сарадњи и стандардизују изглед и утисак у организацији када користите библиотеку компоненти.
Погледајте овај видео запис да бисте сазнали како да користите компоненте у апликацијама са подлогом:
Компоненте у апликацијама са подлогом
Можете да креирате компоненту из неке апликације, као што је објашњено у овом чланку, или креирањем нове компоненте унутар библиотеке компоненти. Библиотека компоненти треба да се користи за захтеве да се компоненте користе на више екрана апликација. Такође можете копирати постојеће компоненте у постојећу или нову библиотеку компоненти.
Да бисте креирали компоненту у апликацији, идите на Приказ стабла, изаберите Компоненте, а затим изаберите Нова компонента:
Избором опције Нова компонента отвара се празна подлога. Можете додати контроле као део дефиниције компоненте на подлози. Ако измените компоненту у подлози, ажурираћете инстанце исте компоненте на другим екранима апликација. Апликације које поново користе већ креирану компоненту такође могу да приме ажурирања компоненти након што објавите промене компоненти.
Након што одаберете екран, компоненту можете да изаберете са листе постојећих компоненти у левом окну. Када изаберете компоненту, уметните инстанцу те компоненте на екран, баш као што уметнете контролу.
Компоненте доступне унутар апликације наведене су у категорији Прилагођено у листи компоненти у приказу стабла. Компоненте увезене из библиотека компоненти наведене су под категоријом Компоненте библиотеке:
Напомена
Компоненти о којима се говори у овом чланку разликују се од платформе Power Apps component framework за компоненте, која омогућава програмерима и ауторима да креирају компоненте кода за апликације засноване на подлози и моделу. За више информација, посетите Power Apps преглед радног оквира за компоненте.
Прилагођена својства
Компонента може примати улазне вредности и емитовати податке ако креирате једно или више прилагођених својстава. Ти сценарији су напредни и захтевају да разумете формуле и обавезујуће уговоре.
Напомена
Експериментална карактеристика за побољшане особине компоненти пружа још више опција за својства, укључујући функције и функције понашања. За више информација, погледајте Својства компоненте платна (експериментални)
Својство уноса је начин како компонента прима податке који ће се користити у компоненти. Својства уноса се приказују на картици Својства десног окна ако је одабрана инстанца компоненте. Можете конфигурисати улазна својства с изразима или формулама, баш као што конфигуришете стандардна својства у другим контролама. Остале контроле имају својства уноса, као што је својство Default контроле унос текста.
Својство излаза се користи за емитовање података или статус компоненте. На пример, својство Selected у контроли галерија је својство излаза. Када креирате својство излаза, можете одредити које друге контроле се могу односити на статус компоненте.
Следећи пролазак даље објашњава ове концепте.
Креирање примера библиотеке компоненти
У овом примеру, креираћете компоненту менија која подсећа на следећу графику. А можете касније да промените текст да бисте га користили на више екрана, апликација или у обе сврхе:
Напомена
Препоручујемо да користите библиотеку компоненти када креирате компоненте за поновну употребу. Ажурирање компоненти унутар апликације чини ажурирања компоненте доступним само унутар апликације. Када користите библиотеку компоненти, од вас ће се затражити да ажурирате компоненте ако су компоненте унутар библиотеке ажуриране и објављене.
Креирање нове компоненте
Креирајте празну апликацију са подлогом.
Да бисте креирали компоненту, идите на Приказ стабла, изаберите Компоненте, а затим изаберите Нова компонента:
Изаберите нову компоненту у левом окну, одаберите три тачке (...), а затим изаберите Преименуј. Унесите или налепите име као MenuComponent.
У десном окну подесите ширину компоненте као 150 и његову висину као 250, а затим изаберите Ново прилагођено својство. Такође можете подесити висину и ширину било које друге вредности, према потреби.
У пољима Display name, Property name и Опис, унесите или налепите текст као Items.
Не укључујте размаке у називу својства, јер ћете се на те компоненте позивати по називу када будете писали формулу. На пример, ComponentName.PropertyName.
Име за приказ се појављује на картици Својства десног окна ако изаберете компоненту. Описно име за приказ помаже вама и другим ауторима да схватите сврху овог својства. Опис ће се појавити у опису ако задржите показивач миша над именом за приказ овог својства на картици Својства.
У листи Тип података изаберите Табела, а затим изаберите Креирај.
Својство Items је постављено на подразумевану вредност на основу типа података који сте навели. Можете га поставити на вредност која одговара вашим потребама. Ако сте навели тип података Табела или Запис, можда би требало да промените вредност својства Items да одговара шеми података коју желите да унесете у компоненту. У том случају ћете га променити у листу ниски.
Вредност својства можете поставити у траци за формуле ако одаберете назив својства на картици Својства у десном окну.
Као што приказује следећа слика, такође можете да уредите вредност својства на картици Напредно десног окна.
Подесите својство слике Items према овој формули:
Table({Item:"SampleText"})
У компоненти уметните празну усправну контролу галерија и изаберите Layout у окну својстава као Наслов.
Обавезно проверите да ли на листи својстава приказује својство Items (као што то подразумевано ради). Затим поставите вредност тог својства на овај израз:
MenuComponent.Items
На овај начин, својство Items контроле галерија очитава улазно својство компоненте Items и зависи од њега.
Опционално – подесите својство BorderThickness контроле галерија на 1, а његово својство TemplateSize на 50. Такође можете ажурирати вредности за дебљину ивице и величину предлошка на било коју другу вредност, према потреби.
Додавање компоненте на екран
Затим ћете компоненту додати на екран и одредити табелу ниски за компоненту која ће се приказивати.
У левом окну изаберите листу екрана, а затим изаберите подразумевани екран.
На картици Уметање отворите мени Компоненте, а затим изаберите MenuComponent.
Нова компонента је подразумевано именована MenuComponent_1.
Подесите својство Items контроле MenuComponent_1 на ову формулу:
Table({Item:"Home"}, {Item:"Admin"}, {Item:"About"}, {Item:"Help"})
Ова инстанца личи на овај графички приказ, али можете прилагодити текст и остала својства сваке инстанце.
Креирање и коришћење својства излаза
До сада сте направили компоненту и додали је у апликацију. Затим ћете креирати својство излаза које одражава ставку коју корисник изабере у менију.
Отворите листу компоненти, а затим изаберите MenuComponent.
У десном окну изаберите картицу Својства, а затим изаберите Ново прилагођено својство.
У пољима Име за приказ, Назив својства и Опис, унесите или налепите Selected.
У одељку Тип својства, одаберите Излаз, а затим изаберите Креирај.
На картици Напредно, подесите вредност својства Изабрано на овај израз, прилагођавајући број у називу галерије, ако је потребно:
Gallery1.Selected.Item
На подразумеваном екрану апликације, додајте ознаку и подесите њено својство Text на овај израз, прилагођавајући број у имену компоненте, ако је потребно:
MenuComponent_1.Selected
MenuComponent_1 је подразумевано име инстанце, а не име дефиниције компоненте. Можете преименовати било коју инстанцу.
Док држите притиснут тастер Alt, изаберите сваку ставку у менију.
Контрола ознака одражава ставку менија коју сте одабрали недавно.
Scope
Својства улаза и излаза јасно дефинишу интерфејс између компоненте и њене апликације домаћина. Подразумевано, компонента је инкапсулирана тако да је лакше поново користити компоненту у апликацијама, што захтева употребу својстава за прослеђивање информација унутар компоненте и ван ње. Ограничења опсега чине уговор података о компоненти једноставним и обједињеним, а то помаже у омогућавању ажурирања дефиниција компоненти, нарочито у апликацијама са библиотекама компоненти.
Али постоје тренуци када компонента можда жели да дели извор података или променљиву са својим хостом. Нарочито када је компонента намењена само за употребу у једној одређеној апликацији. У тим случајевима можете директно приступити информацијама на нивоу апликације тако што ћете укључити прекидач Приступ опсегу апликације у окну својстава компоненте:
Када је укључена опција Приступ опсегу апликације, из компоненте је могуће приступити следећем:
- Глобалне променљиве
- Колекције
- Контроле и компоненте на екранима, попут контроле TextInput
- Табеларни извори података, као што су Dataverse табеле
Када је ова поставка искључена, ништа од горе наведеног није доступно компоненти. Функције Сет и Цоллецт су и даље доступне, али резултирајуће варијабле и колекције су ограничене на инстанцу компоненте и не деле се са апликацијом.
Извори података који нису табеларни, као што је Azure складиште блоб објекта или прилагођени конектор, доступни су без обзира да ли је ово подешавање укључено или искључено.Замислите ове изворе података више као упућивање на ресурс окружења, а не на ресурс апликације.Када се компонента унесе у апликацију из < ДИЦТ__библиотека компоненти > цомпонент либрарy </ДИЦТ__библиотека компоненти >, ови извори података из околине се такође уносе.
Компоненте у библиотеци компоненти никада не могу имати приступ опсегу апликације, јер нема јединственог опсега апликације на који се могу позвати. Дакле, ово подешавање није доступно у овом контексту и ефективно је искључено.Када се увезе у апликацију, а ако је прилагођавање дозвољено од стране произвођача компоненти, прекидач се може омогућити, а компонента се може модификовати да користи опсег апликације.
Напомена
- Можете уметнути примерке компоненти у екран унутар библиотеке компоненти и прегледати тај екран у сврху тестирања.
- Библиотека компоненти се не приказује када се користи Power Apps Mobile.
Увоз и извоз компоненти (повучено)
Напомена
Ова функција је повучена. Библиотеке компоненти су препоручени начин поновне употребе компоненти у апликацијама. Када користите библиотеку компоненти, апликација одржава зависности од компоненти које користи. Произвођач апликација биће упозорен када постану доступна ажурирања за зависне компоненте. Стога би све нове компоненте које се могу поново користити требало да буду креиране у библиотекама компонената.
Могућност увоза и извоза компоненти је подразумевано онемогућена јер је ова функција повучена. Иако је препоручена метода за рад са компонентама употреба библиотеке компоненти, још увек можете да омогућите ову функцију по апликацији као изузетак док се не уклони. Да бисте то урадили, уредите своју апликацију у услузи Power Apps Studio, а затим идите на Поставке > Предстојеће функције > Повучене > подесите Извоз и увоз компоненти на Укључено.
Након што омогућите ову функцију, можете да користите следеће могућности за увоз и извоз компоненти.
Увоз компоненти из друге апликације
Да бисте увезли једну или више компоненти из једне апликације у другу, изаберите Увези компоненте из менија Уметање, а затим користите падајући мени Прилагођено. Или користите Компоненте у приказу стабла на левом окну.
У дијалогу су наведене све апликације које садрже компоненте за које имате дозволу за уређивање. Изаберите апликацију, а затим изаберите Увоз да увезете најновију објављену верзију свих компоненти у тој апликацији. Када увезете најмање једну компоненту, можете да измените копију и избришете све које вам нису потребне.
Апликацију са постојећим компонентама можете сачувати у датотеци локално, а ту датотеку затим поново користити увозећи је. Можете користити датотеку за увоз компоненти у другу апликацију.
Ако апликација садржи модификовану верзију исте компоненте, од вас ће се тражити да одлучите да ли да замените модификовану верзију или откажете увоз.
Када креирате компоненте у апликацији, друге апликације могу користити компоненте из те апликације увозећи их.
Напомена
Ако је компонента коју сте увезли из друге апликације измењена у оригиналној апликацији, морате ручно поново да увезете компоненту у апликацију која је користи да би примила најновије промене компоненте. Уместо тога користите библиотеке компоненти да бисте ефикасније радили са исправкама компоненти.
Извоз компоненти из апликације
Можете извести компоненте у датотеку и преузети их за увоз у другу апликацију.
Изаберите опцију Извоз компоненти у одељку Компоненте у приказу стабла у левом окну:
Такође можете да користите мени Уметање, а затим изаберите падајући мени Прилагођено.
Избором опције Извоз компоненти преузећете компоненте у датотеку:
Преузета датотека компоненти користи тип датотеке .msapp.
Увоз компоненти из датотеке извезених компоненти
Да бисте увезли компоненте из датотеке извезених компоненти, изаберите Увоз компоненти у било ком менију Уметни а затим користите падајући мени Прилагођено или користите Компоненте у приказу стабла у левом окну. У дијалогу са компонентама изаберите Отпреми датотеку уместо да изаберете било које друге компоненте или апликације:
У дијалогу Отвори потражите локацију датотеке компоненте и изаберите Отвори да увезете компоненте унутар апликације.
Увоз компоненти из извезене апликације
Апликацију можете локално да сачувате користећи опцију Датотека > Сачувај као:
Када сачувате апликацију, можете поново користити компоненте ове апликације користећи исти метод увоза компоненти из датотеке. Следите кораке из претходног одељка о увозу компоненти из датотеке извезених компоненти.
Позната ограничења
- Својство прилагођеног уноса не може да се конфигурише на вредност својства прилагођеног излаза у истим или различитим инстанцама када имате две или више инстанци исте компоненте у апликацији. Ова радња ће резултирати поруком упозорења о кружној референци. Да бисте заобишли ово ограничење, можете да креирате копију компоненте унутар апликације.
- Додавање и покретање Power Automate токова у библиотекама компоненти није подржано.
- Не можете да сачувате изворе података или контроле које садрже податке из тих извора података (као што су обрасци, флуидне мреже или табеле података) са компонентама.
- Не можете уметнути компоненту у галерију или образац (укључујући SharePoint образац).
- Компоненте не подржавају функцију UpdateContext, али можете да креирате и ажурирате променљиве у компоненти користећи функцију Set. Опсег ових променљивих је ограничен на компоненту, али можете им приступити изван компоненте преко прилагођених својстава излаза.
Следећи кораци
Сазнајте како се користи библиотека компоненти да бисте креирали складиште компоненти за вишекратну употребу.
Погледајте и
- Библиотека компоненти
- Управљање животним циклусом апликације библиотеке компоненти (ALM)
- Мапирање поља за унос компоненте
- Додавање компоненте у приказ
- Формуле понашања компоненти
- Power Apps component framework
- Додавање компоненти подлоге прилагођеној страници у апликацији заснованој на моделу
Напомена
Можете ли нам рећи о својим жељеним поставкама језика у документацији? Испуните кратку анкету. (имајте на уму да је ова анкета на енглеском језику)
Анкета ће трајати око седам минута. Не прикупљају се лични подаци (изјава о приватности).