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
- Dette er en eksperimentel funktion.
- Eksperimentelle funktioner er ikke beregnet til produktion og kan have begrænset funktionalitet. Disse funktioner er tilgængelige før en officiel udgivelse, så kunderne kan få tidlig adgang og give feedback. Flere oplysninger: Eksperimentelle funktioner og prøveversionsfunktioner
- Den funktionsmåde, der beskrives i denne artikel, er kun tilgængelig, når den eksperimentelle funktion Egenskaber for udvidet komponent er slået til i Indstillinger > Kommende funktioner > Eksperimentel (deaktiveret som standard).
- Din feedback er meget vigtig for os – fortæl os, hvad du mener, i communityforummet for eksperimentelle Power Apps-funktioner.
Typer af egenskaber
Der er fire tilgængelige typer egenskaber til udviklere:
- 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.
- 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.
- 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 handlingsegenskabSave()
, der opdaterer en datakilde. - 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
ellerOnChanged
.
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
.
- På fanen Egenskaber i ruden til højre skal du vælge Ny brugerdefineret egenskab.
- Angiv visningsnavn
Slider Color
i ruden Ny brugerdefineret egenskab. - Vælg Egenskabstype for Data, og vælg Egenskabsdefinition-værdien Input.
- Vælg til sidste Farve på rullelisten Datatype.
- 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 .
- På fanen Egenskaber i ruden til højre skal du vælge Ny brugerdefineret egenskab.
- Angiv visningsnavn
Slider Value
i ruden Ny brugerdefineret egenskab. - Vælg Egenskabstype for Data, og vælg Egenskabsdefinition-værdien Output.
- Vælg til sidste Antal på rullelisten Datatype.
- 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.
- På fanen Egenskaber i komponenten skal du klikke på egenskaben
Slider Value
. - Erstat standardværdien i formellinjen
100
med følgende formelSlider1.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.