Share via


Egenskaper för arbetsytekomponenter (experimentellt)

Arbetsytekomponenter gör det möjligt för tillverkare att skapa olika typer av egenskaper för att vidarebefordra värden eller logik mellan komponenten och appen som är värd för komponenten. Egenskaper är en viktig del i skapandet av interaktiva och återanvändbara komponenter.

Viktigt

Typer av egenskaper

Det finns fyra typer av egenskaper som är tillgängliga för beslutsfattare:

  1. Dataegenskaper: Dataegenskaper för data, t.ex. ett färg- eller textvärde. En egenskap Data kan anges som Indata eller Utdata, som anger om komponenten tillhandahåller data till appen (Utdata) eller appen tillhandahåller data till komponenten (Indata). Egenskaper Data är de enda egenskaper som ingår i appdataflödet.
  2. Funktionsegenskaper: Funktionsegenskaper är relaterade till logik, t.ex. utföra en beräkning utifrån specifika parametrar eller ändra text. En egenskap Funktion kan anges som Indata eller Utdata, som anger om komponenten tillhandahåller en funktion som appen kan anropa appen (Utdata) eller appen tillhandahåller en funktion som komponenten kan anropa (Indata). Egenskaper Funktion deltar inte i en apps dataflöde och kan inte använda komponent- eller appvariabler.
  3. Åtgärdsegenskaper: Åtgärdsegenskaper är en typ av egenskap som hanterar logik och fungerar som en utdata funktion. Komponenten har logiken definierad och att logiken kan använda fördefinierade samlingar och ändra samlingar eller variabler ("beteende"). Till exempel en egenskap Clear() Åtgärd kan tillhandahålla funktioner som appen kan anropa för att rensa ut vissa värden i komponenten eller en egenskap Save() Åtgärd som uppdaterar en datakälla.
  4. Händelseegenskaper: Händelseegenskaper är en egenskapskategori som omfattar logik och funktioner som en indata funktion. Därför definierar appen logiken, som komponenten kan anropa och att logiken kan använda fördefinierade samlingar och ändra samlingar eller variabler ("beteende"). Vanligen återspeglar de här egenskapernas namn en händelse som OnSelect eller OnChanged.

Dataegenskap

En dataegenskaps användning är lätt att förstå. Standardkontroller i appar har vanligtvis flera dataegenskaper för att ange standardvärden, text färg, storlek osv. Låt oss titta på ett enkelt exempel där vi vill göra egenskaperna för en kontroll inom komponenten tillgänglig för värdprogrammet. I det här exemplet namnges vår komponent Component1. Vi lägger in en reglagekontroll i komponenten. Vi har en egenskap Input för att ange färgen från den tidskrävande appen och Output där komponenten kan tala om för appen vad det aktuella värdet för reglaget är. Följande exempel antar att din komponent innehåller en Reglage med namnet Slider.

  1. Välj i egenskapsrutan för komponenten Ny anpassad egenskap.
  2. I rutan Ny anpassad egenskap ange visningsnamn Slider Color.
  3. Välj Egenskapstyp för Data och välj Egenskapsdefinition värde Indata.
  4. Slutligen från listrutan Datatyp väljer du Färg.
  5. Klicka på Skapa.

Välj sedan kontrollen Slider1 Reglage. Leta upp egenskapen ValueFill och ange i formelfältet Component1.SliderColor. Component1 refererar till namnet på komponenten och SliderColor är namnet på den egenskap som vi lade till tidigare.

Nu har vår komponent en egenskap SliderColor som kan anges i den tidskrävande appen, att skicka en färg i komponenten för att ställa in reglagets egenskap ValueFill.

Vi vill också tillhandahålla reglagets värde till den tidskrävande appen. För att göra detta lägger vi till en egenskap Output.

  1. Välj i egenskapsrutan för komponenten Ny anpassad egenskap.
  2. I rutan Ny anpassad egenskap ange visningsnamn Slider Value.
  3. Välj Egenskapstyp för Data och välj Egenskapsdefinition värde Utdata.
  4. Slutligen från listrutan Datatyp väljer du Nummer.
  5. Klicka på Skapa.

När en Data egenskap är Utdata ger komponenten värdet till den tidskrävande appen. För att formeln ska kunna anges måste den nya SliderValue egenskapen i komponenten ställas in på reglagets egenskap Value.

  1. I egenskapsfönstret för komponenten klickar du på egenskapen Slider Value.
  2. Ersätt standardvärdet för i formelfältet100 med följande formel: Slider1.Value.

Nu reflekterar komponentens SliderValue egenskap värdet för reglaget i komponenten, som sedan kan läsas från den tidskrävande appen.

Function-egenskap

En function-egenskap innehåller ett uttryck som returnerar ett värde. Funktionen använder ofta vissa argument för att beräkna eller fastställa värdet som ska returneras.

Anteckning

Function-egenskaper har för närvarande inte åtkomst till variabler, komponentvärden och egenskaper och kan inte utlösa dataflöden. Alla obligatoriska värden måste skickas in som argument.

En funktion Output är ett enkelt sätt att skapa en anpassad funktion för Power Apps. Komponenten definierar en funktion Output med ett uttryck som tar vissa argument och returnerar ett värde. Den här funktionen kan sedan användas i en app med komponentens namn (säg Component1) genom att ringa Component1.MyFunction(arg1, arg2).

En funktion Input är ett sätt för en tidskrävande app att tillhandahålla logik för en komponent, ungefär som en funktionspekare eller callback-funktion. Komponenten kan till exempel innehålla personers namn och ha en indatafunktion med argument firstname och lastname och en sträng bakåt. Appen kan definiera funktionsuttrycket som ska returneras $"{firstname} {lastname}" eller så kan det välja att definiera ett uttryck för $"{lastname}, {firstname}". Komponenten kan bara anropa den funktion som apptillverkaren har gett och använda den returnerade strängen.

Åtgärdsegenskap

Åtgärdsegenskaper liknar funktionsegenskaper av typen Utdata, men de tillåter sideffekt-formeln och uttryck som grundutdata. En komponent kan ha en åtgärdsegenskap AddRecord som tillåter appen att lägga till en post till en samling i komponenten eller Reset åtgärd som rensar variabler eller samlingar i komponenten.

I exemplet med reglageexempel som används för egenskapen Data tidigare kan vi presentera en åtgärdsegenskap som kallas för ResetValue att ställa in reglaget tillbaka till standardvärdet. Vi kan använda formeln för Reset( Slider1 ) för detta. Nu kan instanser av vår komponent i appen anropa Component1.ResetValue() för att ställa in reglaget tillbaka till standardvärdet.

Event-egenskap

Det finns många vanliga egenskaper av typen Event, egenskaper för indatafunktion, i standardkontroller. OnSelect på knappkontrollen är det mest tydliga exemplet. En komponent kan definiera hur många händelseegenskaper som helst och anropa dessa händelser som en funktion. En komponent som har en knappkontroll kan till exempel ha en händelseegenskap med namnet OnButtonClicked. I knappkontrollens OnSelect kan komponenten anropa dess Component1.OnButtonClicked() egenskap. En tidskrävande app kan sedan definiera sin egen logik för den här egenskapen och agera när knappen i komponenten förs in.

Standardvärden för egenskaper eller argument

Standardvärden kan tillhandahålla ett standardvärde för ett argument eller en egenskap om ingen har angetts. Detta är inte bra för vissa typer av egenskaper. I vissa fall kan de emellertid användas för att skapa ett förväntat schema för en post. Genom att ange en standardpost posttyp skapas en post som det förväntade schemat.

En Action egenskap som namnges AddRecord godkänner till exempel att en post läggs till i en lokal samling. För att skapa ett schema för den förväntade posten måste en tillverkare lägga till ett standardvärde för AddRecord egenskapens argument.