Kreiranje komponenti za aplikacije sa podlogom
Važno
Ova funkcija je još uvek u javnom pregledu. Više informacija potražite u odeljku Eksperimentalne funkcije i funkcije pregleda.
Komponente su sastavni elementi aplikacija sa podlogom za višekratnu upotrebu, tako da kreatori aplikacija mogu da kreiraju prilagođene kontrole koje će se koristiti unutar aplikacije ili u raznim aplikacija pomoću biblioteke komponenti. Komponente mogu da koriste napredne funkcije kao što su prilagođena svojstva i omogućavanje složenih mogućnosti. Ovaj članak predstavlja koncepte komponenti i neke primere.
Komponente su korisne u građenju većih aplikacija koje imaju slične obrasce kontrola. Ako ažurirate definiciju komponenti unutar aplikacije, sve instance u aplikaciji odražavaju vaše promene. Komponente takođe smanjuju dupliranje napora eliminišući potrebu za kopiranjem/lepljenjem kontrola i poboljšavajući performanse. Komponente takođe pomažu u kreiranju razvoja u saradnji i standardizuju izgled i utisak u organizaciji kada koristite biblioteku komponenti.
Pogledajte ovaj video zapis da biste saznali kako da koristite komponente u aplikacijama sa podlogom:
Komponente u aplikacijama sa podlogom
Možete da kreirate komponentu iz neke aplikacije, kao što je objašnjeno u ovom članku, ili kreiranjem nove komponente unutar biblioteke komponenti. Biblioteka komponenti treba da se koristi za zahteve da se komponente koriste na više ekrana aplikacija. Takođe možete kopirati postojeće komponente u postojeću ili novu biblioteku komponenti.
Da biste kreirali komponentu u aplikaciji, idite na Prikaz stabla, izaberite Komponente, a zatim izaberite Nova komponenta:

Izborom opcije Nova komponenta otvara se prazna podloga. Možete dodati kontrole kao deo definicije komponente na podlozi. Ako izmenite komponentu u podlozi, ažuriraćete instance iste komponente na drugim ekranima aplikacija. Aplikacije koje ponovo koriste već kreiranu komponentu takođe mogu da prime ažuriranja komponenti nakon što objavite promene komponenti.
Nakon što odaberete ekran, komponentu možete da izaberete sa liste postojećih komponenti u levom oknu. Kada izaberete komponentu, umetnite instancu te komponente na ekran, baš kao što umetnete kontrolu.
Komponente dostupne unutar aplikacije navedene su u kategoriji Prilagođeno u listi komponenti u prikazu stabla. Komponente uvezene iz biblioteka komponenti navedene su pod kategorijom Komponente biblioteke:

Napomena
Komponente o kojima se govori u ovom članku razlikuju se od okvira Power Apps komponenti koji omogućava projektantima i proizvođačima da kreiraju komponente koda za aplikacije sa pogonom na modele i platno. Za više informacija posetite Power Apps okvira komponente.
Prilagođena svojstva
Komponenta može primati ulazne vrednosti i emitovati podatke ako kreirate jedno ili više prilagođenih svojstava. Ti scenariji su napredni i zahtevaju da razumete formule i obavezujuće ugovore.
Svojstvo unosa je način kako komponenta prima podatke koji će se koristiti u komponenti. Svojstva unosa se prikazuju na kartici Svojstva desnog okna ako je odabrana instanca komponente. Možete konfigurisati ulazna svojstva s izrazima ili formulama, baš kao što konfigurišete standardna svojstva u drugim kontrolama. Ostale kontrole imaju svojstva unosa, kao što je svojstvo Default kontrole unos teksta.
Svojstvo izlaza se koristi za emitovanje podataka ili status komponente. Na primer, svojstvo Selected u kontroli galerija je svojstvo izlaza. Kada kreirate svojstvo izlaza, možete odrediti koje druge kontrole se mogu odnositi na status komponente.
Sledeći prolazak dalje objašnjava ove koncepte.
Kreiranje primera biblioteke komponenti
U ovom primeru, kreiraćete komponentu menija koja podseća na sledeću grafiku. A možete kasnije da promenite tekst da biste ga koristili na više ekrana, aplikacija ili u obe svrhe:

Napomena
Preporučujemo da koristite biblioteku komponenti kada kreirate komponente za ponovnu upotrebu. Ažuriranje komponenti unutar aplikacije čini ažuriranja komponente dostupnim samo unutar aplikacije. Kada koristite biblioteku komponenti, od vas će se zatražiti da ažurirate komponente ako su komponente unutar biblioteke ažurirane i objavljene.
Kreiranje nove komponente
Prijavite se u Power Apps.
Izaberite Aplikacije i izaberite Aplikacija sa podlogom ispočetka.
Unesite ime aplikacije, izaberite bilo koji raspored, a zatim izaberite Kreiraj.
Da biste kreirali komponentu, idite na Prikaz stabla, izaberite Komponente, a zatim izaberite Nova komponenta:

Izaberite novu komponentu u levom oknu, odaberite tri tačke (...), a zatim izaberite Preimenuj. Unesite ili nalepite ime kao MenuComponent.
U desnom oknu podesite širinu komponente kao 150 i njegovu visinu kao 250, a zatim izaberite Novo prilagođeno svojstvo. Takođe možete podesiti visinu i širinu bilo koje druge vrednosti, prema potrebi.

U poljima Display name, Property name i Description, unesite ili nalepite tekst kao Items.

Ne uključujte razmake u nazivu svojstva, jer ćete se na te komponente pozivati po nazivu kada budete pisali formulu. Na primer, ComponentName.PropertyName.
Ime za prikaz se pojavljuje na kartici Svojstva desnog okna ako izaberete komponentu. Opisno ime za prikaz pomaže vama i drugim autorima da shvatite svrhu ovog svojstva. Opis će se pojaviti u opisu ako zadržite pokazivač miša nad imenom za prikaz ovog svojstva na kartici Svojstva.
U listi Tip podataka izaberite Tabela, a zatim izaberite Kreiraj.

Svojstvo Items je postavljeno na podrazumevanu vrednost na osnovu tipa podataka koji ste naveli. Možete ga postaviti na vrednost koja odgovara vašim potrebama. Ako ste naveli tip podataka Tabela ili Zapis, možda bi trebalo da promenite vrednost svojstva Items da odgovara šemi podataka koju želite da unesete u komponentu. U tom slučaju ćete ga promeniti u listu niski.
Vrednost svojstva možete postaviti u traci za formule ako odaberete naziv svojstva na kartici Svojstva u desnom oknu.

Kao što prikazuje sledeća slika, takođe možete da uredite vrednost svojstva na kartici Napredno desnog okna.
Podesite svojstvo slike Items prema ovoj formuli:
Table({Item:"SampleText"})
U komponenti umetnite praznu uspravnu kontrolu galerija i izaberite Layout u oknu svojstava kao Naslov.
Obavezno proverite da li na listi svojstava prikazuje svojstvo Items (kao što to podrazumevano radi). Zatim postavite vrednost tog svojstva na ovaj izraz:
MenuComponent.ItemsNa ovaj način, svojstvo Items kontrole galerija očitava ulazno svojstvo komponente Items i zavisi od njega.
Opcionalno – podesite svojstvo BorderThickness kontrole galerija na 1, a njegovo svojstvo TemplateSize na 50. Takođe možete ažurirati vrednosti za debljinu ivice i veličinu predloška na bilo koju drugu vrednost, prema potrebi.
Dodavanje komponente na ekran
Zatim ćete komponentu dodati na ekran i odrediti tabelu niski za komponentu koja će se prikazivati.
U levom oknu izaberite listu ekrana, a zatim izaberite podrazumevani ekran.

Na kartici Umetanje otvorite meni Komponente, a zatim izaberite MenuComponent.

Nova komponenta je podrazumevano imenovana MenuComponent_1.
Podesite svojstvo Items kontrole MenuComponent_1 prema ovoj formuli:
Table({Item:"Home"}, {Item:"Admin"}, {Item:"About"}, {Item:"Help"})Ova instanca liči na ovaj grafički prikaz, ali možete prilagoditi tekst i ostala svojstva svake instance.

Kreiranje i korišćenje svojstva izlaza
Do sada ste napravili komponentu i dodali je u aplikaciju. Zatim ćete kreirati svojstvo izlaza koje odražava stavku koju korisnik izabere u meniju.
Otvorite listu komponenti, a zatim izaberite MenuComponent.
U desnom oknu izaberite karticu Svojstva, a zatim izaberite Novo prilagođeno svojstvo.
U poljima Display name, Property name i Description, unesite ili nalepite Selected.
U odeljku Tip svojstva, odaberite Izlaz, a zatim izaberite Kreiraj.

Na kartici Napredno, podesite vrednost svojstva Selected na ovaj izraz, prilagođavajući broj u nazivu galerije, ako je potrebno:
Gallery1.Selected.Item
Na podrazumevanom ekranu aplikacije, dodajte oznaku i podesite njeno svojstvo Text na ovaj izraz, prilagođavajući broj u imenu komponente, ako je potrebno:
MenuComponent_1.SelectedMenuComponent_1 je podrazumevano ime instance, a ne ime definicije komponente. Možete preimenovati bilo koju instancu.
Dok držite pritisnut taster Alt, izaberite svaku stavku u meniju.
Kontrola oznaka odražava stavku menija koju ste odabrali nedavno.
Scope
Svojstva ulaza i izlaza jasno definišu interfejs između komponente i njene aplikacije domaćina. Podrazumevano, komponenta je inkapsulirana tako da je lakše ponovo koristiti komponentu u aplikacijama, što zahteva upotrebu svojstava za prosleđivanje informacija unutar komponente i van nje. Ograničenja opsega čine ugovor podataka o komponenti jednostavnim i objedinjenim, a to pomaže u omogućavanju ažuriranja definicija komponenti, naročito u aplikacijama sa bibliotekama komponenti.
Ali postoje trenuci kada komponenta možda želi da deli izvor podataka ili promenljivu sa svojim hostom. Naročito kada je komponenta namenjena samo za upotrebu u jednoj određenoj aplikaciji. U tim slučajevima možete direktno pristupiti informacijama na nivou aplikacije tako što ćete uključiti prekidač Pristup opsegu aplikacije u oknu svojstava komponente:

Kada je uključena opcija Pristup opsegu aplikacije, iz komponente je moguće pristupiti sledećem:
- Globalne promenljive
- Kolekcije
- Kontrole i komponente na ekranima, poput kontrole TextInput
- Tabelarni izvori podataka, kao što su Dataverse tabele
Kada je ovo podešavanje isključeno, ništa od gorenavedenog nije dostupno komponenti. Funkcije Set i Collect su i dalje dostupne, ali rezultirajuće promenljive i kolekcije obuhvataju instancu komponente i ne dele se sa aplikacijom.
Izvori podataka koji nisu tabelarni, kao što je Azure skladište blob objekta ili prilagođeni konektor, dostupni su bez obzira da li je ovo podešavanje uključeno ili isključeno. Zamislite ove izvore podataka više kao upućivanje na resurs okruženja nego kao resurs aplikacije. Kada se komponenta unese u aplikaciju iz biblioteke komponenti, unose se i ovi izvori podataka iz okruženja.
Komponente u biblioteci komponenti nikada ne mogu imati pristup opsegu aplikacije, jer nema jedinstvenog opsega aplikacije na koji se mogu pozvati. Dakle, ovo podešavanje nije dostupno u ovom kontekstu i efektivno je isključeno. Kada se uveze u aplikaciju, i ako je autor komponente dopustio prilagođavanje, prekidač se može omogućiti i komponenta se može izmeniti tako da koristi opseg aplikacije.
Napomena
- Možete umetnuti instance komponenti u ekran unutar biblioteke komponenti i pregledati taj ekran u svrhu testiranja.
- Biblioteka komponenti se ne prikazuje kada koristite Power Apps Mobile.
Uvoz i izvoz komponenti
Napomena
Ova funkcija je povučena. Biblioteke komponenti su preporučeni način ponovne upotrebe komponenti u aplikacijama. Kada koristite biblioteku komponenti, aplikacija održava zavisne elemente na komponentama koje koristi. Proizvođač aplikacija biće upozoren kada postanu dostupna ažuriranja za zavisne komponente. Stoga bi sve nove komponente koje se mogu ponovo koristiti trebalo da budu kreirane u bibliotekama komponenata.
Mogućnost uvoza i izvoza komponenti je podrazumevano onemogućena jer je ova funkcija povučena. Iako je preporučena metoda za rad sa komponentama upotreba biblioteke komponenti, još uvek možete da omogućite ovu funkciju po aplikaciji kao izuzetak dok se ne ukloni. Da biste > to uradili, uredite aplikaciju · > · > · > · Power Apps Studio.

Nakon što omogućite ovu funkciju, možete da koristite sledeće mogućnosti za uvoz i izvoz komponenti.
Uvoz komponenti iz druge aplikacije
Da biste uvezli jednu ili više komponenti iz jedne aplikacije u drugu, izaberite Uvezi komponente iz menija Umetanje, a zatim koristite padajući meni Prilagođeno. Ili koristite Komponente u prikazu stabla na levom oknu.
U dijalogu su navedene sve aplikacije koje sadrže komponente za koje imate dozvolu za uređivanje. Izaberite aplikaciju, a zatim izaberite Uvoz da uvezete najnoviju objavljenu verziju svih komponenti u toj aplikaciji. Kada uvezete najmanje jednu komponentu, možete da izmenite kopiju i izbrišete sve koje vam nisu potrebne.

Aplikaciju sa postojećim komponentama možete sačuvati u datoteci lokalno, a tu datoteku zatim ponovo koristiti uvozeći je. Možete koristiti datoteku za uvoz komponenti u drugu aplikaciju.
Ako aplikacija sadrži izmenjenu verziju iste komponente, od vas će se tražiti da odlučite da li da zamenite izmenjenu verziju ili da otkažete uvoz.
Kada kreirate komponente u aplikaciji, druge aplikacije mogu koristiti komponente iz te aplikacije uvozeći ih.
Izvoz komponenti iz aplikacije
Možete izvesti komponente u datoteku i preuzeti ih za uvoz u drugu aplikaciju.
Izaberite opciju Izvoz komponenti u odeljku Komponente u prikazu stabla u levom oknu:

Takođe možete da koristite meni Umetanje, a zatim izaberite padajući meni Prilagođeno.

Izborom opcije Izvoz komponenti preuzećete komponente u datoteku:

Preuzeta datoteka komponenti koristi tip datoteke .msapp.
Uvoz komponenti iz datoteke izvezenih komponenti
Da biste uvezli komponente iz datoteke izvezenih komponenti, izaberite Uvoz komponenti u bilo kom meniju Umetni a zatim koristite padajući meni Prilagođeno ili koristite Komponente u prikazu stabla u levom oknu. U dijalogu sa komponentama izaberite Otpremi datoteku umesto da izaberete bilo koje druge komponente ili aplikacije:

U dijalogu Otvori potražite lokaciju datoteke komponente i izaberite Otvori da uvezete komponente unutar aplikacije.
Uvoz komponenti iz izvezene aplikacije
Aplikaciju možete lokalno da sačuvate koristeći opciju Datoteka > Sačuvaj kao:

Kada sačuvate aplikaciju, možete ponovo koristiti komponente ove aplikacije koristeći isti metod uvoza komponenti iz datoteke. Sledite korake iz prethodnog odeljka o uvozu komponenti iz datoteke izvezenih komponenti.
Poznata ograničenja
- Ne možete sačuvati izvore podataka, obrasce i tabele podataka sa komponentama.
- Zbirke u komponentama nisu podržane.
- Komponentu ne možete da umetnete u galeriju ili obrazac (uključujući SharePoint obrazac).
- Glavna instanca komponente je lokalni master i obuhvata aplikaciju. Ako promenite glavnu instancu, samo kopije komponente unutar aplikacije će odražavati promenu. Kopije u drugim aplikacijama ostaće iste ukoliko ponovo ne uvezete biblioteku komponenti. Sve glavne instance u tim aplikacijama biće automatski otkrivene i ažurirane.
- Ne možete pakovati medijske datoteke kada uvezete komponentu.
- Komponente ne podržavaju funkciju UpdateContext, ali možete da kreirate i ažurirate promenljive u komponenti koristeći funkciju Set. Opseg ovih promenljivih je ograničen na komponentu, ali možete im pristupiti izvan komponente preko prilagođenih svojstava izlaza.
Sledeći koraci
Saznajte kako se koristi biblioteka komponenti da biste kreirali depo komponenti za višekratnu upotrebu.