Svojstva komponente podloge (eksperimentalno)

Komponente podloge za crtanje omogućavaju proizvođačima da kreiraju različite tipove svojstava za prenos vrednosti ili logike između komponente i aplikacije koja hostuje komponentu. Svojstva su neizostavni deo kreiranja interaktivnih komponenti koje je moguće ponovo upotrebljivi.

Važno

Tipovi svojstava

Proizvođačima su dostupna četiri tipa svojstava:

  1. Svojstva podataka: Svojstva podataka se odnose na podatke, kao što su boja ili tekstualna vrednost. Svojstvo " Data" može da se podesi tako da bude "Input " ili "Output", što ukazuje na to da li komponenta obezbeđuje podatke aplikaciji (Output) ili ako aplikacija obezbeđuje podatke komponenti (Ulaz). Svojstva podataka su jedina svojstva koja učestvuju u protoku podataka aplikacije.
  2. Svojstva funkcije: Svojstva funkcije su povezana sa logikom, kao što je izvršavanje izračunavanja na osnovu određenih parametara ili menjanje teksta. Svojstvo funkcije može da se podesi tako da bude "Ulaz" ili " Izlaz", što označava da li komponenta obezbeđuje funkciju koju aplikacija može da pozove (Izlaz) ili aplikacija obezbeđuje funkciju koju komponenta može da pozove (Ulaz). Svojstva funkcije ne učestvuju u protoku podataka aplikacije i ne mogu da koriste promenljive komponenti ili aplikacija.
  3. Svojstva radnje: Svojstva radnje su vrsta svojstva koja se bavi logikom i ponaša se kao izlazna funkcija. Tako komponenta ima definisanu logiku i ta logika može da koristi okovane izraze i da manipuliše kolekcijama ili promenljivim ("ponašanje"). Na primer, svojstvo Clear() "Radnja " može da obezbedi funkcionalnost koju aplikacija može da pozove da bi očistila neke vrednosti u komponenti ili Save() svojstvo "Radnja " koje ažurira izvor podataka.
  4. Svojstva događaja: Svojstva događaja su kategorija svojstva koja uključuje logiku i funkcije kao funkciju unosa ·. Tako aplikacija definiše logiku, koju komponenta može da pozove i ta logika može da koristi okovane izraze i da manipuliše kolekcijama ili promenljivim ("ponašanje"). Imena ovih svojstava obično odražavaju događaj kao što je OnSelect ili OnChanged.

Svojstvo "Data" ("Podaci

Korišćenje svojstva podataka je lako zamisliti. Standardne kontrole u aplikacijama obično imaju nekoliko svojstava podataka, da bi se postavile podrazumevane vrednosti, boja teksta, veličina itd. Pogledajmo jednostavan primer gde želimo da svojstva kontrole unutar komponente budu dostupna hosting aplikaciji. U ovom primeru, naša komponenta je nazvana Component1. Stavićemo kontrolu klizača unutar naše komponente. Imaćemo svojstvo Input da bismo naveli boju iz aplikacije koja troši i svojstvo Output gde komponenta može da kaže aplikaciji koja je trenutna vrednost klizača. Sledeći primer pretpostavlja da komponenta sadrži kontrolu slajdera pod imenom Slider.

  1. U oknu sa svojstvima komponente izaberite stavku Novo prilagođeno svojstvo.
  2. U okno "Novo prilagođeno svojstvo" unesite grešku ime za prikaz Slider Color.
  3. Izaberite tip svojstva podataka i izaberite vrednost definicije svojstva Input.
  4. Na kraju, u padajućem meniju tipa podataka izaberite stavku Boja.
  5. Izaberite stavku Kreiranje.

Zatim izaberite kontrolu Slider1 klizača . Pronađite njegovo svojstvo ValueFill i u polje za formulu unesite Component1.SliderColor. Component1 odnosi se na ime naše komponente i naziv SliderColor je svojstva koje smo prethodno dodali.

Sada naša komponenta ima svojstvo SliderColor koje se može podesiti u aplikaciji za konzumiranje, da bi se boja prosledila u komponentu da bi se postavilo svojstvo "ValueFill" klizača .

Takođe želimo da obezbedimo vrednost klizača aplikaciji koja troši. Da bismo to postigli, dodaćemo svojstvo Output .

  1. U oknu sa svojstvima komponente izaberite stavku Novo prilagođeno svojstvo.
  2. U okno "Novo prilagođeno svojstvo" unesite grešku ime za prikaz Slider Value.
  3. Izaberite tip svojstva podataka i izaberite vrednost definicije svojstva Izlaz.
  4. Na kraju, u padajućem meniju tipa podataka izaberite stavku Broj.
  5. Izaberite stavku Kreiranje.

Kada je svojstvo "Podaci " "Izlaz", komponenta obezbeđuje vrednost aplikaciji koja troši podatke. Da bismo podesili formulu za ovo, potrebno je da novo svojstvo SliderValue u komponenti postavite na svojstvo "Vrednost" klizača.

  1. U oknu sa svojstvima komponente kliknite na svojstvo Slider Value .
  2. U polju za formulu zamenite podrazumevanu vrednost 100 sledećom formulom: Slider1.Value.

Sada će svojstvo naše SliderValue komponente odražavati vrednost klizača unutar komponente, koji se zatim može pročitati iz aplikacije za konzumiranje.

Svojstvo funkcije

Svojstvo funkcije sadrži izraz koji daje vrednost. Funkcija obično uzima neke argumente koje koristi za izračunavanje ili određivanje vrednosti za vraćanje.

Napomena

Svojstva funkcije trenutno ne mogu da pristupe promenljivim ili vrednostima komponenti i svojstvima i ne mogu da izazovu protok podataka. Sve potrebne vrednosti moraju biti prosleđene kao argumenti.

Funkcija "Izlaz " je jednostavan način kreiranja prilagođene funkcije za Power Apps. Komponenta definiše funkciju " Izlaz" sa izrazom koji uzima neke argumente i daje vrednost. Ova funkcija se zatim može koristiti u aplikaciji koristeći ime komponente (recimo Component1) pozivom Component1.MyFunction(arg1, arg2).

Funkcija "Unos " je način da aplikacija koja troši obezbedi logiku komponenti, slična pokazivaču funkcije ili funkciji povratnog poziva. Na primer, vaša komponenta se možda bavi imenima ljudi i ima ulaznu funkciju sa argumentima firstname lastname i poštuje nisku unazad. Aplikacija bi mogla da definiše izraz funkcije za vraćanje $"{firstname} {lastname}" ili da odabere da definiše izraz za $"{lastname}, {firstname}". Komponenta može samo da pozove funkciju koju je obezbedio proizvođač aplikacija i da koristi vraćenu nisku.

Svojstvo "Action" ("Radnj

Svojstva radnje su slična svojstvima funkcije tipa " Izlaz", ali dozvoljavaju bočne formule i lančano kačenje izraza. Komponenta može imati imenovano svojstvo radnje AddRecord koje omogućava aplikaciji da doda zapis kolekciji unutar komponente ili Reset radnju koja obriše promenljive ili kolekcije unutar komponente.

U primeru primera klizača koji su ranije korišćeni za svojstvo "Podaci ", možemo da uvedemo svojstvo radnje pozvano ResetValue da vrati klizač na podrazumevanu vrednost. Moћemo da upotrebimo formulu Reset( Slider1 ) za ovo. Sada, instance naše komponente u aplikaciji mogu da pozovu Component1.ResetValue() da vrate klizač na podrazumevanu vrednost.

Svojstvo događaja

Postoji mnogo uobičajenih svojstava tipa događaja, svojstva funkcije ponašanja efikasnog unosa, u standardnim kontrolama. OnSelect na kontroli dugmeta je najočigledniji primer. Komponenta može definisati bilo koji broj svojstava događaja i nazvati ove događaje kao funkciju. Na primer, komponenta koja ima kontrolu dugmeta može da ima svojstvo događaja pod imenom OnButtonClicked. U funkciji kontrole dugmeta OnSelect komponenta može da pozove svoje Component1.OnButtonClicked() svojstvo. Aplikacija koja troši može da definiše sopstvenu logiku za ovo svojstvo da bi delovala kada se pritisne dugme unutar komponente.

Podrazumevane vrednosti za svojstva ili argumente

Podrazumevane vrednosti mogu da obezbede podrazumevanu vrednost za argument ili svojstvo u slučaju da nijedan nije postavljen. Ovo nema smisla za neke tipove svojstava. Međutim, u nekim slučajevima mogu da se koriste za obezbeđivanje očekivane šeme za zapis. Obezbeđivanjem podrazumevanog zapisa, vrsta zapisa se kao očekivana šema.

Na primer, svojstvo · "Radnja AddRecord " koje je imenovano prihvata zapis koji će biti dodat lokalnoj kolekciji. Da bi obezbedio šemu očekivanog zapisa, proizvođač mora da doda podrazumevanu vrednost za AddRecord argument ovog svojstva.