Share via


Eigenschappen van canvascomponenten (experimenteel)

Met canvascomponenten kunnen makers verschillende typen eigenschappen maken om waarden of logica door te geven tussen de component en de app die de component host. Eigenschappen vormen een essentieel onderdeel bij het maken van interactieve en herbruikbare componenten.

Belangrijk

Typen eigenschappen

Er zijn vier typen eigenschappen beschikbaar voor makers:

  1. Gegevenseigenschappen: gegevenseigenschappen hebben betrekking op gegevens, zoals een kleur- of tekstwaarde. Een gegevenseigenschap kan worden ingesteld op Invoer of Uitvoer, wat aangeeft of de component gegevens aan de app levert (Uitvoer) of de app gegevens aan de component levert (Invoer). Gegevenseigenschappen zijn de enige eigenschappen s die deelnemen aan de app-gegevensstroom.
  2. Functie-eigenschappen: functie-eigenschappen hebben betrekking op logica, zoals het uitvoeren van een berekening op basis van specifieke parameters of het wijzigen van tekst. Een functie-eigenschap kan worden ingesteld op Invoer of Uitvoer, wat aangeeft of de component een functie levert die door de app kan worden aangeroepen(Uitvoer) of de app een functie levert die door de component kan orden aangeroepen (Invoer). Functie-eigenschappen nemen niet deel aan de gegevensstroom van een app en kunnen geen component- of app-variabelen gebruiken.
  3. Actie-eigenschappen: actie-eigenschappen zijn een type eigenschap dat zich bezighoudt met logica en zich gedraagt ​​als een functie Uitvoer. De component heeft dus de logica gedefinieerd, en die logica kan geketende uitdrukkingen gebruiken en verzamelingen of variabelen ("gedrag") bewerken. Een Clear() actie-eigenschap kan bijvoorbeeld functionaliteit bieden die de app kan aanroepen om bepaalde waarden in de component te wissen of een Save() actie-eigenschap die een gegevensbron bijwerkt.
  4. Gebeurteniseigenschappen: gebeurteniseigenschappen zijn een eigenschapscategorie die logica omvat en functioneert als een functie Invoer. De app definieert dus de logica, die door de component kan worden aangeroepen en die logica kan geketende uitdrukkingen gebruiken en verzamelingen of variabelen ("gedrag") bewerken. Meestal geven de namen van deze eigenschappen een gebeurtenis weer zoals OnSelect of OnChanged.

Gegevenseigenschap

Het gebruik van een gegevenseigenschap is gemakkelijk voor te stellen. Standaardbesturingselementen in apps hebben meestal verschillende gegevenseigenschappen voor het instellen van standaardwaarden, tekstkleur, grootte enz. Laten we eens kijken naar een eenvoudig voorbeeld waarbij we eigenschappen van een besturingselement binnen de component beschikbaar willen maken voor de hosting-app. In dit voorbeeld heet onze component Component1. We gaan een schuifregelaar in onze component opnemen. We hebben een eigenschap Invoer om de kleur van de verbruikende app op te geven en een eigenschap Uitvoer waarmee de component de app kan vertellen wat de huidige waarde van de schuifregelaar is. In het volgende voorbeeld wordt ervan uitgegaan dat uw component een besturingselement Schuifregelaar met de naam Slider bevat.

  1. Selecteer in het eigenschappenvenster van de component de optie Nieuwe aangepaste eigenschap.
  2. Voer in het deelvenster Nieuwe aangepaste eigenschap de weergavenaam Slider Color in.
  3. Selecteer Gegevens bij Eigenschapstype en selecteer de waarde Invoer bij Eigenschapsdefinitie.
  4. Selecteer tot slot in de vervolgkeuzelijst Gegevenstype de optie Kleur.
  5. Klik op Maken.

Selecteer vervolgens het besturingselement Schuifregelaar met de naam Slider1. Zoek de eigenschap ValueFill en typ Component1.SliderColor in de formulebalk. Component1 verwijst naar de naam van onze component en SliderColor is de naam van de eigenschap die we eerder hebben toegevoegd.

Nu heeft onze component een eigenschap SliderColor die kan worden ingesteld in de verbruikende app om een kleur door te geven aan de component voor het instellen van de eigenschap ValueFill van de schuifregelaar.

We willen ook de waarde van de schuifregelaar doorgeven aan de verbruikende app. Hiertoe voegen we een eigenschap Uitvoer toe.

  1. Selecteer in het eigenschappenvenster van de component de optie Nieuwe aangepaste eigenschap.
  2. Voer in het deelvenster Nieuwe aangepaste eigenschap de weergavenaam Slider Value in.
  3. Selecteer Gegevens bij Eigenschapstype en selecteer de waarde Uitvoer bij Eigenschapsdefinitie.
  4. Selecteer tot slot in de vervolgkeuzelijst Gegevenstype de optie Getal.
  5. Klik op Maken.

Bij een gegevenseigenschap van het type Uitvoer levert de component de waarde aan de verbruiktende app. Om de formule hiervoor in te stellen, moeten we de nieuwe eigenschap SliderValue in de component instellen op de eigenschap Waarde van de schuifregelaar.

  1. Klik in het eigenschappenvenster van de component op de eigenschap Slider Value.
  2. Vervang in de formulebalk de standaardwaarde 100 door de volgende formule: Slider1.Value.

Nu weerspiegelt onze de eigenschap SliderValue van onze component de waarde van de schuifregelaar binnen de component, die vervolgens kan worden gelezen vanuit de verbruikende app.

Functie-eigenschap

Een functie-eigenschap bevat een uitdrukking die een waarde retourneert. Doorgaans heeft de functie enkele argumenten nodig om de te retourneren waarde te berekenen of te bepalen.

Notitie

Functie-eigenschappen hebben momenteel geen toegang tot variabelen of componentwaarden en eigenschappen, en kunnen geen gegevensstroom activeren. Eventuele vereiste waarden moeten als argumenten worden doorgegeven.

Een functie Uitvoer is een eenvoudige manier om een ​​aangepaste functie voor Power Apps te maken. De component definieert een functie Uitvoer met een uitdrukking waaraan enkele argumenten moeten worden doorgegeven en die een waarde retourneert. Deze functie kan vervolgens in een app worden gebruikt met de naam van de component (bijvoorbeeld Component1)door Component1.MyFunction(arg1, arg2) aan te roepen.

Een functie Invoer is een manier voor een verbruikende app om logica aan een component te geven, vergelijkbaar met een functieaanwijzer of callback-functie. Uw component kan bijvoorbeeld te maken hebben met namen van mensen, een invoerfunctie met argumenten firstname en lastname hebben en een tekenreeks respecteren. De app kan de functie-expressie zodanig definiëren dat $"{firstname} {lastname}" wordt geretourneerd of kan een uitdrukking voor $"{lastname}, {firstname}" definiëren. De component kan gewoon de functie aanroepen die de app-maker heeft geleverd en de geretourneerde tekenreeks gebruiken.

Actie-eigenschap

Actie-eigenschappen zijn vergelijkbaar met functie-eigenschappen van het type Uitvoer, maar ze staan neveneffectformules en expressieketens toe. Een component kan een actie-eigenschap hebben met de naam AddRecord waarmee de app een record kan toevoegen aan een verzameling binnen de component, of een actie Reset die variabelen of verzamelingen binnen de component wist.

In het voorbeeld van de schuifregelaar die we eerder hebben gebruikt voor de gegevenseigenschap kunnen we een actie-eigenschap genaamd ResetValue introduceren om de schuifregelaar terug te zetten naar de standaardwaarde. We kunnen hiervoor de formule Reset( Slider1 ) gebruiken. Nu kunnen exemplaren van onze component in de app Component1.ResetValue() aanroepen om de schuifregelaar terug te zetten naar de standaardwaarde.

Gebeurteniseigenschap

Er zijn veel gemeenschappelijke eigenschappen van het type Gebeurtenis, waarmee gedragsfunctie-eigenschappen in standaardbesturingselementen worden ingevoerd. OnSelect voor het knopbesturingselement is het meest voor de hand liggende voorbeeld. Een component kan een willekeurig aantal gebeurteniseigenschappen definiëren en deze gebeurtenissen als een functie aanroepen. Een component met een knopbesturingselement kan bijvoorbeeld een gebeurteniseigenschap hebben met de naam OnButtonClicked. In het knopbesturingslement OnSelect kan de component de bijbehorende eigenschap Component1.OnButtonClicked() aanroepen. Een verbruikende app kan dan zijn eigen logica voor deze eigenschap definiëren, om te handelen wanneer in de component op de knop wordt gedrukt.

Standaardwaarden voor eigenschappen of argumenten

Standaardwaarden kunnen een standaardwaarde leveren voor een argument of eigenschap als er geen is ingesteld. Dit is niet logisch voor sommige typen eigenschappen. In sommige gevallen kunnen ze echter worden gebruikt om een verwacht schema voor een record te bieden. Door een standaardrecord op te geven, wordt een recordtype vastgesteld als het verwachte schema.

Een eigenschap Actie met de naam AddRecord accepteert bijvoorbeeld een record die moet worden toegevoegd aan een lokale verzameling. Om het schema van de verwachte record te verstrekken, moet een maker een standaardwaarde toevoegen voor het argument van deze eigenschap AddRecord.