Freigeben über


Objektausgabekomponente

[Dieses Thema ist Teil der Dokumentation zur Vorabversion und kann geändert werden.]

Diese Beispielkomponente zeigt, wie Objekttyp-Ausgabeeigenschaften verwendet werden. Diese Komponente generiert ein statisches Objekt und Ausgabe über eine Eigenschaft, auf die dann in einer Canvas-App oder über Client-APIs in einem Modellformular zugegriffen werden kann.

Verfügbar für

Modellgesteuerte Apps und Canvas-Apps

Anforderungen

Vertrautheit mit dem Erstellen von Codekomponenten.

Code

Den vollständigen Code für das Beispiel finden Sie hier: PowerApps-Samples/component-framework/ObjectOutputControl/.

Das Manifest enthält eine Objekttyp-Eigenschaft namens Data und eine verborgene Eigenschaft namens DataSchema . Die DataSchema-Eigenschaft wird nur für Canvas-Apps benötigt und von der Plattform verwendet, um das Ausgabeobjektschema abzurufen. Wir müssen auch eine Eigenschaftsabhängigkeit zwischen diesen beiden Eigenschaften erstellen.

<!-- A hidden property used by Canvas to get the output object schema -->
<property name="DataSchema"
   display-name-key="DataSchema"
   description-key="DataSchema"
   of-type="SingleLine.Text"
   usage="input"
   hidden="true" />
<!-- The object type output property -->
<property name="Data"
   display-name-key="Data"
   description-key="Data"
   of-type="Object"
   usage="output"
   hidden="false"
   default-value="" />
<property-dependencies>
   <!-- Define the dependency between schema and the object type property -->
   <property-dependency input="DataSchema"
      output="Data"
      required-for="schema" />
</property-dependencies>

In der Datei index.ts müssen wir die Methode getOutputSchema hinzufügen, um das Ausgabeobjektschema bereitzustellen. Wenn das Steuerelement einer Canvas-App hinzugefügt wird, ruft die Plattform diese Methode vor der Initialisierung des Steuerelements auf, um die Schemas der Ausgabeobjekte empfangen zu können.

public async getOutputSchema(context: ComponentFramework.Context<IInputs>): Promise<Record<string, unknown>> {
   return Promise.resolve({
      Data: StaticDataSchema
   });
}

Aktualisieren Sie die Methode getOutput , um einen Wert für die Ausgabeeigenschaft zurückzugeben.

public getOutputs(): IOutputs {
   return {
      Data: this._staticData
   };
}

Die onLoadData-Methode wird aufgerufen, wenn die Schaltfläche Daten Laden gedrückt wird, um die Daten in das Ausgabeobjekt zu laden und die Plattform über die Ausgabeänderungen zu benachrichtigen. Dadurch wird das onChange-Verhalten in der Canvas-App für das Steuerelement oder OnOutputChange-Ereignis für Client-APIs ausgelöst.

private onLoadData = async () => {
   this._staticData = StaticData;
   this._staticData.loadCounter = (this._staticData.loadCounter || 0) + 1;
   this.notifyOutputChanged();
}

onOutputChange-Ereignis
StandardControl.getOutputSchema
ReactControl.getOutputSchema
StandardControl.getOutputs
ReactControl.getOutputs