Share via


Egenskaber for lærredskomponent (eksperimentel)

Lærredskomponenter gør det muligt for beslutningstagere at oprette forskellige typer egenskaber for at videresende værdier eller logik mellem den komponent og den app, der er vært for komponenten. Egenskaber er en væsentlig del af oprettelsen af interaktive komponenter, der kan genbruges.

Vigtigt

Typer af egenskaber

Der er fire tilgængelige typer egenskaber til udviklere:

  1. Dataegenskaber: Dataegenskaber gælder for data, f.eks. en farve- eller tekstværdi. En dataegenskab kan angives til Input eller Output, som angiver, om komponenten leverer data til appen (Output) eller appen leverer data til komponenten (Input). Dataegenskaber er de eneste egenskaber, der er med i app-dataflow.
  2. Funktionsegenskaber: Funktionsegenskaber er relateret til logik, f.eks. udførelse af en beregning baseret på bestemte parametre eller ændring af tekst. En funktionsegenskab kan angives til Input eller Output, som angiver, om komponenten leverer en funktion, som appen kan kalde (Output) eller appen leverer data, som komponenten kan kalde (Input). Funktionsegenskaber indgår ikke i appens dataflow og kan ikke bruge komponent- eller appvariabler.
  3. Egenskaber for handling: Egenskaber for handling er en type egenskab, der handler med logik og fungerer som en Output Funktion. Komponenten har således defineret den definerede logik, og den logik kan bruge sammenkædede udtryk og manipulere samlinger eller variabler ("funktionsmåde"). En handlingsegenskab Clear() kan f.eks. indeholde funktioner, som appen kan kalde til rydning af visse værdier i komponenten eller en handlingsegenskab Save(), der opdaterer en datakilde.
  4. Hændelsesegenskaber: Hændelsesegenskaber er en egenskabskategori, der omfatter logik og funktioner som en Input Funktion. Appen definerer således logikken, som komponenten kan kalde, og den logik kan bruge sammenkædede udtryk og manipulere samlinger eller variabler ("funktionsmåde"). Navnene på disse egenskaber afspejler som regel en hændelse som f.eks. OnSelect eller OnChanged.

Dataegenskab

Det er nemt at forestille sig, hvordan en dataegenskab kan bruges. Standardkontrolelementer i apps har typisk flere dataegenskaber for at angive standardværdier, tekstfarve, størrelse osv. Lad os se på et simpelt eksempel, hvor vi vil gøre egenskaberne for et kontrolelement i komponenten tilgængelige for værtsappen. I dette eksempel hedder vores komponent Component1. Der skal være skyderkontrolelement i komponenten. Vi har en egenskab af input, der angiver farven fra den app, der forbruger, og egenskaben Output, hvor komponenten kan fortælle appen, hvad den aktuelle værdi af skyderen er. I følgende eksempel antages det, at komponenten indeholder et skyderkontrolelement med navnet Slider.

  1. På fanen Egenskaber i ruden til højre skal du vælge Ny brugerdefineret egenskab.
  2. Angiv visningsnavn Slider Color i ruden Ny brugerdefineret egenskab.
  3. Vælg Egenskabstype for Data, og vælg Egenskabsdefinition-værdien Input.
  4. Vælg til sidste Farve på rullelisten Datatype.
  5. Klik på Opret.

Vælg dernæst kontrolelementet Slider1 Skyder. Find egenskaben ValueFill, og angiv den på formellinjen Component1.SliderColor. Component1 henviser til navnet på komponenten og SliderColor er navnet på den egenskab, vi tidligere har tilføjet.

Nu har komponenten en SliderColor-egenskab, der kan angives i den app, der forbruger, så den sender en farve til komponenten for at angive egenskaben ValueFill for skyderen.

Vi vil også angive værdien af skyderen til den app, der forbruger. Det kan du gøre ved at tilføje egenskaben Output .

  1. På fanen Egenskaber i ruden til højre skal du vælge Ny brugerdefineret egenskab.
  2. Angiv visningsnavn Slider Value i ruden Ny brugerdefineret egenskab.
  3. Vælg Egenskabstype for Data, og vælg Egenskabsdefinition-værdien Output.
  4. Vælg til sidste Antal på rullelisten Datatype.
  5. Klik på Opret.

Når en dataegenskab er Output, leverer komponenten værdien til den app, der forbruger. Hvis du vil angive formlen for denne værdi, skal den nye SliderValue-egenskab i komponenten angives til egenskaben Værdi for skyderen.

  1. På fanen Egenskaber i komponenten skal du klikke på egenskaben Slider Value.
  2. Erstat standardværdien i formellinjen 100 med følgende formel Slider1.Value.

Nu afspejler egenskaben for SliderValue komponenten værdien af skyderen inde i komponenten, som derefter kan læses fra den app, der forbruger.

Funktionsegenskab

En funktionsegenskab indeholder et udtryk, der returnerer en værdi. Funktionen anvender som regel nogle argumenter, som bruges til at beregne eller bestemme den værdi, der skal returneres.

Bemærk

Funktionsegenskaber kan i øjeblikket ikke få adgang til variabler eller komponentværdier og egenskaber og kan ikke udløse dataflow. Alle nødvendige værdier skal overføres som argument.

En outputfunktion er en enkel måde at oprette en brugerdefineret funktion for Power Apps. Komponenten definerer en outputfunktion med et udtryk, der tager visse argumenter og returnerer en værdi. Denne funktion kan derefter bruges i en app ved hjælp af komponentens navn (f.eks. Component1) ved at ringe Component1.MyFunction(arg1, arg2).

En inputfunktion er en måde, en app, der forbruger, på til at levere logik til en komponent, f.eks. en funktionsmarkør eller tilbagekaldsfunktion. Komponenten kan f.eks. indeholde personers navne og have inputfunktion med argumenter firstname og lastname og respekterer en streng tilbage. Appen kan definere det funktionsudtryk, der skal returneres $"{firstname} {lastname}", eller den kan vælge at definere et udtryk for $"{lastname}, {firstname}". Komponenten kan blot kalde den funktion, appudvikleren har angivet, og bruge den returnerede streng.

Egenskab for handling

Handlingsegenskaber svarer til funktionsegenskaber af typen Output, men de tillader side effect-formler og udtryksudtryk. En komponent kan have en handlingsegenskab med navnet AddRecord, der gør det muligt for appen at føje en post til en samling i komponenten, eller en Reset-handling, der fjerner variabler eller samlinger i komponenten.

I eksemplet med de skydere, der bruges til Dataegenskab tidligere, kan du introducere en handlingsegenskab, der kaldes ResetValue for at angive skyderen tilbage til standardværdien. Vi kan bruge formlen Reset( Slider1 ) til dette. Nu kan forekomster af vores komponent i appen ringe Component1.ResetValue() for at angive skyderen til standardværdien igen.

Egenskaber for hændelse

I standardkontrolelementer findes der mange almindelige egenskaber for Hændelse, som effektivt fungerer som inputfunktion. OnSelect på knapkontrolelementet er det mest indlysende eksempel. En komponent kan definere et vilkårligt antal hændelsesegenskaber og kalde disse hændelser som en funktion. En komponent, der har et knapkontrolelement, kan f.eks. have en hændelsesegenskab navngivet OnButtonClicked. Knappens kontrolelement OnSelect kan kalde dens egenskab Component1.OnButtonClicked(). En app, der forbruger, kan derefter definere sin egen logik for denne egenskab, så den fungerer, når knappen i komponenten virker.

Standardværdier for egenskaber eller argumenter

Standardværdier kan bruges som standardværdi til et argument eller en egenskab, hvis der ikke angives nogen. Det giver ikke mening for visse typer af egenskaber. I visse tilfælde kan de dog bruges til at levere et forventet skema til en post. Hvis der angives en standardpost, oprettes posttype som det forventede skema.

En handlingsegenskab Handling, der kaldes AddRecord, accepterer f.eks. en post, der skal føjes til en lokal samling. Hvis du vil angive skemaet for den forventede post, skal en bruger tilføje en standardværdi for denne AddRecord-egenskabs argument.