Del via


Komponent til objektoutput

[Dette emne er til dokumentationen til den foreløbige udgivelse. Der kan forekomme ændringer.]

Denne eksempelkomponent viser, hvordan du bruger outputegenskaber for objekttyper. Denne komponent genererer et statisk objekt og output via en egenskab, som derefter kan tilgås i en lærredsapp eller via klient-API'er i en modelformular.

Tilgængelig for

Modeldrevne apps og lærredsapps

Forudsætninger

Kendskab til oprettelse af kodekomponenter.

Kode

Du kan finde det komplette kodeeksempel her: PowerApps-Samples/component-framework/ObjectOutputControl/.

Manifestet indeholder en objekttypeegenskab, der kaldes Data , og en skjult egenskab kaldet DataSchema . Egenskaben DataSchema er kun nødvendig for lærredsapps og bruges af platformen til at hente outputobjektskemaet. Vi skal også oprette en egenskabsafhængighed mellem disse to egenskaber.

<!-- 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>

I den index.ts fil skal vi tilføje metoden getOutputSchema for at levere outputobjektskemaet. Når kontrolelementet føjes til en lærredsapp, kalder platformen til denne metode, før kontrolelementet initialiseres, for at modtage outputobjektets eller -skemaerne.

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

Opdater metoden getOutput for at returnere værdien for outputegenskaben.

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

Metoden onLoadData kaldes, når der trykkes på knappen Indlæs data for at indlæse dataene i outputobjektet og give platformen besked om outputændringerne. Dette udløser funktionsmåden onChange i lærredsappen for kontrolelementet eller hændelsen OnOutputChange for klient-API'er.

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

onOutputChange-hændelse
StandardControl.getOutputSchema
ReactControl.getOutputSchema
StandardControl.getOutputs
ReactControl.getOutputs