Eigenschaften der Canvas-Komponente (Vorschauversion)
Canvas-Komponenten ermöglichen es Entwicklern, verschiedene Arten von Eigenschaften zu erstellen, um Werte oder Logik zwischen der Komponente und der App, die die Komponente hostet, weiterzuleiten. Eigenschaften sind ein wesentlicher Bestandteil bei der Erstellung interaktiver und wiederverwendbarer Komponenten.
Wichtig
- Dies ist eine Vorschauversion.
- Funktionen in der Vorschauversion sind nicht für den Produktionseinsatz gedacht und können eine eingeschränkte Funktionalität aufweisen. Diese Funktionen unterliegen den ergänzenden Nutzungsbedingungen und stehen vor dem offiziellen Release zur Verfügung, damit die Kundschaft frühen Zugriff darauf erhalten und Feedback geben können.
Anforderungen
Bevor Sie diese Funktion nutzen können, muss sie in Ihren App-Einstellungen aktiviert werden.
Öffnen Sie Ihre Canvas-App zur Bearbeitung in Power Apps Studio. Wählen Sie in der Befehlsleiste Einstellungen>Updates aus.
Suchen Sie auf der Registerkarte Vorschau die Einstellung Verbesserte Komponenten-Eigenschaften und aktivieren Sie diese.
Typen von Eigenschaften
Den Erstellern stehen vier Typen von Eigenschaften zur Verfügung:
- Dateneigenschaften: Dateneigenschaften beziehen sich auf Daten wie etwa eine Farbe oder ein Textwert. Eine Daten-Eigenschaft kann auf Eingabe oder Ausgabe festgelegt werden, was angibt, ob die Komponente der App Daten bereitstellt (Ausgabe) oder ob die App der Komponente Daten bereitstellt (Eingabe). Daten-Eigenschaften sind die einzigen Eigenschaften, die am App-Datenfluss beteiligt sind.
- Funktionseigenschaften: Funktionseigenschaften beziehen sich auf die Logik, z. B. das Durchführen einer Berechnung auf der Grundlage bestimmter Parameter oder das Ändern von Text. Eine Funktion-Eigenschaft kann auf Eingabe oder Ausgabe festgelegt werden, was angibt, ob die Komponente eine Funktion bereitstellt, die die App aufrufen kann (Ausgabe), oder ob die App eine Funktion bereitstellt, die die Komponente aufrufen kann (Eingabe). Funktion-Eigenschaften nehmen nicht am Datenfluss einer App teil und können keine Komponenten- oder App-Variablen verwenden.
- Aktionseigenschaften: Aktionseigenschaften sind ein Typ von Eigenschaft, der sich mit Logik befasst und sich wie eine Ausgabe-Funktion verhält. Somit ist für die Komponente die Logik definiert, und diese Logik kann verkettete Ausdrücke verwenden und Sammlungen oder Variablen („Verhalten“) manipulieren. Beispielsweise könnte eine
Clear()
Aktion-Eigenschaft bereitstellen, die die App aufrufen kann, um einige Werte in der Komponente zu löschen, oder eineSave()
Aktion-Eigenschaft, die eine Datenquelle aktualisiert. - Ereigniseigenschaften: Ereigniseigenschaften sind eine Eigenschaftskategorie, die Logik beinhaltet und als EingabeFunktion fungiert. Somit definiert die App die Logik, die die Komponente aufrufen kann, und diese Logik kann verkettete Ausdrücke verwenden und Sammlungen oder Variablen („Verhalten“) manipulieren. Typischerweise spiegeln die Namen dieser Eigenschaften ein Ereignis wie
OnSelect
oderOnChanged
wider.
Dateneigenschaft
Die Verwendung einer Dateneigenschaft ist leicht vorstellbar. Standardsteuerelemente in Apps verfügen normalerweise über mehrere Dateneigenschaften, um Standardwerte, Textfarbe, Größe usw. festzulegen. Schauen wir uns ein einfaches Beispiel an, in dem wir Eigenschaften eines Steuerelements innerhalb der Komponente für die Hosting-App verfügbar machen möchten. In diesem Beispiel heißt unsere Komponente Component1
. Wir werden einen Schieberegler in unsere Komponente einfügen. Wir werden eine Eingabe-Eigenschaft haben, um die Farbe der konsumierenden App anzugeben, und eine Ausgabe-Eigenschaft, wo die Komponente der App mitteilen kann, was der aktuelle Wert des Schiebereglers ist. Im folgenden Beispiel wird davon ausgegangen, dass Ihre Komponente ein Schieberegler-Steuerelement mit dem Namen Slider
enthält.
- Wählen Sie im Eigenschaftsbereich der Komponente Neue benutzerdefinierte Eigenschaft aus.
- Geben Sie im Bereich Neue benutzerdefinierte Eigenschaft den Anzeigename
Slider Color
ein. - Wählen Sie Eigenschaftstyp von Daten und wählen Sie Eigenschaftsdefinition Wert Eingabe.
- Wählen Sie schließlich aus der Datentyp-Dropdownliste Farbe aus.
- Klicken Sie auf Erstellen.
Wählen Sie als Nächstes das Slider1
Schieberegler-Steuerelement aus. Suchen Sie nach der Eigenschaft ValueFill und geben Sie in der Bearbeitungsleiste Component1.SliderColor
ein. Component1
bezieht sich auf den Namen unserer Komponente und SliderColor
ist der Name der Eigenschaft, die wir zuvor hinzugefügt haben.
Jetzt verfügt unsere Komponente über eine SliderColor
-Eigenschaft, die in der verbrauchenden App festgelegt werden kann, um eine Farbe an die Komponente zu übergeben und die ValueFill-Eigenschaft des Schiebereglers festzulegen.
Wir möchten der konsumierenden App auch den Wert des Schiebereglers zur Verfügung stellen. Um dies zu erreichen, fügen wir eine Ausgabe-Eigenschaft hinzu.
- Wählen Sie im Eigenschaftsbereich der Komponente Neue benutzerdefinierte Eigenschaft aus.
- Geben Sie im Bereich Neue benutzerdefinierte Eigenschaft den Anzeigename
Slider Value
ein. - Wählen Sie Eigenschaftstyp von Daten und wählen Sie Eigenschaftsdefinition Wert Ausgabe.
- Wählen Sie schließlich aus der Datentyp-Dropdownliste Zahl aus.
- Klicken Sie auf Erstellen.
Wenn eine Daten-Eigenschaft Ausgabe ist, stellt die Komponente den Wert für die nutzende App bereit. Um die Formel hierfür festzulegen, müssen wir die neue SliderValue
-Eigenschaft in der Komponente auf die Wert-Eigenschaft des Schiebereglers setzen.
- Klicken Sie im Eigenschaftsbereich der Komponente auf die
Slider Value
-Eigenschaft. - Ersetzen Sie in der Bearbeitungsleiste den Standardwert
100
durch die folgenden Formel:Slider1.Value
.
Jetzt spiegelt die SliderValue
-Eigenschaft unserer Komponente den Wert des Schiebereglers innerhalb der Komponente wider, der dann von der nutzenden App gelesen werden kann.
Funktionseigenschaft
Eine Funktionseigenschaft enthält einen Ausdruck, der einen Wert zurückgibt. Normalerweise benötigt die Funktion einige Argumente, mit denen sie den zurückzugebenden Wert berechnet oder bestimmt.
Anmerkung
Funktionseigenschaften können derzeit nicht auf Variablen- oder Komponentenwerte und -eigenschaften zugreifen und keinen Datenfluss auslösen. Alle erforderlichen Werte müssen als Argumente übergeben werden.
Eine Output-Funktion ist eine einfache Möglichkeit, eine benutzerdefinierte Funktion für Power Apps zu erstellen. Die Komponente definiert eine Output-Funktion mit einem Ausdruck, der einige Argumente akzeptiert und einen Wert zurückgibt. Diese Funktion kann dann in einer App unter Verwendung des Namens der Komponente (z. B Component1
) per Aufruf Component1.MyFunction(arg1, arg2)
verwendet werden.
Eine Input-Funktion ist eine Möglichkeit für eine konsumierende App, Logik für eine Komponente bereitzustellen, ähnlich einem Funktionszeiger oder einer Rückruffunktion. Beispielsweise verarbeitet Ihre Komponente möglicherweise die Namen von Personen und verfügt über eine Eingabefunktion mit den Argumenten firstname
und lastname
und berücksichtigt eine Zeichenfolge zurück. Die App könnte für den Funktionsausdruck definieren, $"{firstname} {lastname}"
zurückzugeben, oder sich dafür entscheiden, einen Ausdruck für $"{lastname}, {firstname}"
zu definieren. Die Komponente kann einfach die von der App erstellenden Person bereitgestellte Funktion aufrufen und die zurückgegebene Zeichenfolge verwenden.
Aktionseigenschaft
Aktionseigenschaften ähneln Funktionseigenschaften vom Typ Ausgabe, aber sie erlauben Nebeneffektformeln und die Verkettung von Ausdrücken. Eine Komponente könnte eine Aktionseigenschaft mit dem Namen AddRecord
haben, durch die die App einen Datensatz zu einer Sammlung innerhalb der Komponente hinzufügen kann, oder eine Reset
-Aktion, die Variablen oder Sammlungen innerhalb der Komponente löscht.
Im Beispiel der verwendeten Schieberegler-Beispiele für die Dateneigenschaft zuvor können wir eine Aktionseigenschaft namens ResetValue
einführen, um den Schieberegler auf seinen Standardwert zurückzusetzen. Wir können die Formel Reset( Slider1 )
dafür verwenden. Jetzt können Instanzen unserer Komponente in der App Component1.ResetValue()
aufrufen, um den Schieberegler auf den Standardwert zurückzusetzen.
Ereigniseigenschaft
Es gibt viele gemeinsame Ereignis-Typ-Eigenschaften, im Endeffekt Eingabeverhaltensfunktionseigenschaften, in Standardsteuerelementen. OnSelect für das Schaltflächensteuerelement ist das offensichtlichste Beispiel. Eine Komponente könnte eine beliebige Anzahl von Ereigniseigenschaften definieren und diese Ereignisse wie eine Funktion aufrufen. Beispielsweise könnte eine Komponente, die über ein Schaltflächensteuerelement verfügt, über eine Ereigniseigenschaft mit dem Namen OnButtonClicked
verfügen. Im OnSelect des Schaltflächensteuerelements kann die Komponente seine Component1.OnButtonClicked()
-Eigenschaft aufrufen. Eine konsumierende App kann dann ihre eigene Logik für diese Eigenschaft definieren, um zu agieren, wenn die Schaltfläche innerhalb der Komponente gedrückt wird.
Standardwerte für Eigenschaften oder Argumente
Standardwerte können einen Standardwert für ein Argument oder eine Eigenschaft bereitstellen, falls keiner festgelegt ist. Dies ist für einige Arten von Eigenschaften nicht sinnvoll. In manchen Fällen können sie jedoch verwendet werden, um ein erwartetes Schema für einen Datensatz bereitzustellen. Durch die Bereitstellung eines Standarddatensatzes wird ein Datensatztyp als erwartetes Schema eingerichtet.
Zum Beispiel akzeptiert eine Aktion-Eigenschaft namens AddRecord
, dass ein Datensatz einer lokalen Sammlung hinzugefügt wird. Um das Schema des erwarteten Datensatzes bereitzustellen, muss ein Ersteller einen Standardwert für das Argument dieser AddRecord
-Eigenschaft hinzufügen.