Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Codekomponenten sind Lösungskomponenten, die Sie in einer Lösungsdatei packen und in verschiedene Umgebungen importieren können. Verwenden Sie sie, um verbesserte App-Erlebnisse in verschiedenen Umgebungen bereitzustellen. Erfahren Sie, wie Sie Erweiterungen mithilfe von Lösungen packen und verteilen.
Sie können Codekomponenten in eine Lösung einbeziehen und dann die Lösung in eine Microsoft Dataverse-Umgebung importieren. Nachdem Sie die Lösung mit Codekomponenten importiert haben, können Systemadministratoren und System customizer Spalten, Untergrids, Ansichten und Dashboard-Untergrids konfigurieren, die anstelle von Standardkomponenten verwendet werden sollen. Sie können diese Codekomponenten sowohl zu modellgesteuerten als auch zu Canvas-Apps hinzufügen.
Codekomponenten bestehen aus drei Elemente:
Anmerkung
Die Definition und Implementierung von Codekomponenten mithilfe von Power Apps Komponentenframework ist für modellgesteuerte und Canvas-Apps identisch. Der einzige Unterschied zwischen beiden Apps ist der Konfigurationsteil.
Manifest
Das Manifest ist die ControlManifest.Input.xml Metadatendatei, die eine Komponente definiert. Es handelt sich um ein XML-Dokument, das Folgendes beschreibt:
- Der Name der Komponente.
- Die Art der Daten, die Sie konfigurieren können, entweder ein
fieldoder eindataset. - Alle Eigenschaften, die Sie in der Anwendung konfigurieren können, wenn Sie die Komponente hinzufügen.
- Eine Liste der Ressourcenfelder, die die Komponente benötigt.
Wenn ein Benutzer eine Codekomponente konfiguriert, filtern die Daten in der Manifestdatei die verfügbaren Komponenten, sodass nur für den jeweiligen Kontext gültige Komponenten zur Konfiguration verfügbar sind. Die in der Manifestdatei für eine Komponente definierten Eigenschaften werden als Konfigurationsspalten gerendert, sodass der Benutzer, der die Komponente konfiguriert, die Werte angeben kann. Diese Eigenschaftswerte stehen der Komponente dann zur Laufzeit zur Verfügung. Weitere Informationen finden Sie unter Manifestschemareferenz.
Komponentenimplementierung
Verwenden Sie TypeScript, um Codekomponenten zu implementieren. Jede Codekomponente muss ein Objekt enthalten, das die in der Codekomponentenschnittstelle beschriebenen Methoden implementiert. Die Power Platform CLI generiert automatisch eine index.ts Datei, die Stubbed-Implementierungen für diese Methoden enthält. Verwenden Sie den Befehl pac pcf init, um diese Datei zu generieren, die die wichtigsten Stubmethoden enthält.
Das Objekt implementiert die folgenden Methoden:
- init (erforderlich)
- updateView (erforderlich)
- getOutputs (optional)
- Löschen (erforderlich)
Diese Methode steuert den Lebenszyklus der Codekomponente.
Laden der Seite
Wenn die Seite geladen wird, benötigt die Anwendung ein Objekt, mit dem sie arbeiten kann. Unter Verwendung der Daten aus der Manifestdatei erhält der Code das Objekt durch Aufruf:
var obj = new <"namespace on manifest">.<"constructor on manifest">();
Wenn die Namespace- und Konstruktorwerte aus dem Manifest SampleNameSpace bzw. LinearInputComponent sind, sieht der Code zum Instanziieren des Objekts wie folgt aus:
var controlObj = new SampleNameSpace.LinearInputComponent();
Wenn die Seite fertig ist, wird die Komponente initialisiert, indem die Methode init mit einem Satz von Parametern aufgerufen wird.
controlObj.init(context,notifyOutputChanged,state,container);
| Parameter | Beschreibung |
|---|---|
| Kontext | Enthält alle Informationen zur Konfiguration der Komponente und alle Parameter, die Sie innerhalb der Komponente zusammen mit den Power Apps Komponentenframework-APIs verwenden können. Verwenden Sie beispielsweise context.parameters.<"property name from manifest">, um auf die Eingabe-Eigenschaft zuzugreifen. |
| notifyOutputChanged | Benachrichtigt das Framework, wenn die Codekomponente neue Ausgaben zur asynchronen Abfrage bereithält. |
| state | Enthält Komponentendaten aus dem vorherigen Laden der Seite in der aktuellen Sitzung, wenn die Komponente sie mithilfe der setControlState-Methode explizit zuvor gespeichert hat. |
| Container | Ein HTML-Div-Element, an das Entwickler und App-Ersteller die HTML-Elemente für die UI anhängen können, die die Komponente definiert. |
Benutzer ändert Daten
Wenn ein Benutzer mit Ihren Komponenten interagiert, um Daten zu ändern, muss Ihre Komponente die als Parameter notifyOutputChanged in der Methode init übergebene Methode aufrufen. Wenn Sie diese Methode verwenden, antwortet die Plattform durch Aufrufen der getOutputs-Methode . Die getOutputs-Methode gibt Werte zurück, die die vom Benutzer vorgenommenen Änderungen enthalten. Bei einer field Komponente ist dieser Wert in der Regel der neue Wert für die Komponente.
App ändert Daten
Wenn die Plattform die Daten ändert, ruft sie die updateView-Methode der Komponente auf und übergibt das neue Kontextobjekt als Parameter. Implementieren Sie diese Methode, um die in der Komponente angezeigten Werte zu aktualisieren.
Seite wird geschlossen
Wenn ein Benutzer die Seite verlässt, verliert die Codekomponente ihren Gültigkeitsbereich und gibt den gesamten auf dieser Seite für die Objekte reservierten Speicher frei. Einige Methoden bleiben jedoch möglicherweise im Speicher und verbrauchen weiterhin Speicher, je nach Implementierung des Browsers. In der Regel sind diese Methoden Ereignishandler. Wenn der Benutzer diese Informationen speichern möchte, sollte er die setControlState-Methode implementieren, damit die Informationen das nächste Mal innerhalb derselben Sitzung verfügbar sind.
Entwickler können die Vernichten-Methode implementieren, die aufgerufen wird, wenn die Seite schließt, um einen beliebigen Bereinigungscode wie Ereignishandler zu entfernen.
Ressourcen
Der Ressourcenknoten in der Manifestdatei bezieht sich auf die Ressourcen, die die Komponente benötigt, um ihre Visualisierung zu implementieren. Jede Codekomponente muss eine Ressourcendatei haben, um ihre Visualisierung zu erstellen. Das Tool generiert die index.ts Datei als code Ressource. Es muss mindestens eine Coderessource vorhanden sein.
Definieren Sie zusätzliche Ressourcendateien im Manifest, die Folgendes enthalten sollen:
- CSS Dateien
- Bild-Webressourcen
- Resx-Webressourcen für die Lokalisierung
Weitere Informationen: Ressourcenelement