Eigenschaften der Canvas-Komponente (experimentell)

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 Funktion, die in Prüfung ist.
  • Die experimentellen Funktionen sind nicht für die Produktion vorgesehen und weisen möglicherweise eine eingeschränkte Funktionalität auf. Diese Funktionen stehen vor der offiziellen Veröffentlichung zur Verfügung, damit Kunden frühzeitig Zugriff erhalten und Feedback geben können. Weitere Informationen: Experimentier- und Vorschaufunktionen
  • Das in diesem Artikel beschriebene Verhalten ist nur verfügbar, wenn die experimentelle Funktion Erweiterte Komponenteneigenschaften aktiviert ist Einstellungen > Kommende Funktionen > Experimentell (standardmäßig deaktiviert).
  • Ihr Feedback ist sehr wertvoll für uns – bitte teilen Sie uns Ihre Meinung in den Power Apps-Communityforen zu experimentellen Funktionen mit.

Typen von Eigenschaften

Den Erstellern stehen vier Typen von Eigenschaften zur Verfügung:

  1. 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.
  2. 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.
  3. Aktionseigenschaften: Aktionseigenschaften sind ein Typ von Eigenschaft, der sich mit Logik befasst und sich wie eine Output-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 Funktionen bereitstellen, die die App aufrufen kann, um einige Werte in der Komponente zu löschen, oder eine Save() Aktion-Eigenschaft, die eine Datenquelle aktualisiert.
  4. Ereigniseigenschaften: Ereigniseigenschaften sind eine Eigenschaftskategorie, die Logik beinhaltet und als Input-Funktion 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 oder OnChanged 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.

  1. Wählen Sie im Eigenschaftsbereich der Komponente Neue benutzerdefinierte Eigenschaft aus.
  2. Geben Sie im Bereich Neue benutzerdefinierte Eigenschaft den Anzeigename Slider Color ein.
  3. Wählen Sie Eigenschaftstyp von Daten und wählen Sie Eigenschaftsdefinition Wert Eingabe.
  4. Wählen Sie schließlich aus der Datentyp-Dropdownliste Farbe aus.
  5. 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.

  1. Wählen Sie im Eigenschaftsbereich der Komponente Neue benutzerdefinierte Eigenschaft aus.
  2. Geben Sie im Bereich Neue benutzerdefinierte Eigenschaft den Anzeigename Slider Value ein.
  3. Wählen Sie Eigenschaftstyp von Daten und wählen Sie Eigenschaftsdefinition Wert Ausgabe.
  4. Wählen Sie schließlich aus der Datentyp-Dropdownliste Zahl aus.
  5. 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.

  1. Klicken Sie im Eigenschaftsbereich der Komponente auf die Slider Value-Eigenschaft.
  2. 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.

Hinweis

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. Für einige Typen von Eigenschaften ist dies 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.