ReactControl.getOutputSchema
It is called by the framework prior to a component initialization. Returns an object schema based on nomenclature defined in manifest, for any output property of type object.
Available for
Model-driven apps, canvas apps, & portals.
Syntax
getOutputSchema(context)
Remarks
The output will contain JSON schema for each property of type object defined in the manifest.
For example, if the manifest has an output property of type object called MyOutputObject
, and your control should return an object like this for value of MyOutputObject
property:
{
"ProductName": "sample name",
"Value": 123.4
}
Then you should return:
{
"MyOutputObject": {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"ProductName": {
"type": "string"
},
"Value": {
"type": "number"
}
}
}
}
The return schema is a subset of the JSON schema. Supported types and keyword for JSON schema:
string
integer
number
array
items
object
properties
boolean
Parameters
Parameter Name | Type | Required | Description |
---|---|---|---|
context | Context | yes | The Input Properties containing the parameters, component metadata and interface functions. |
Example
Control has an object type output property called MyOutputObject
and the value looks like this:
{
id: 10,
productDetails: {
name: "Test Product",
price: 100.23,
},
itemList: [
{
itemId: 1,
name: "Item-1",
value: 123,
active: true,
},
{
itemId: 2,
name: "Item-2",
value: 234,
active: false,
}
]
};
GetOutputSchema
implementation:
public async getOutputSchema(context: ComponentFramework.Context<IInputs>):
Promise<Record<string, unknown>> {
return Promise.resolve({
MyOutputObject: {
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"productDetails": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"price": {
"type": "number"
}
}
},
"itemList": {
"type": "array",
"items":
{
"type": "object",
"properties": {
"itemId": {
"type": "integer"
},
"name": {
"type": "string"
},
"value": {
"type": "integer"
},
"active": {
"type": "boolean"
},
}
}
}
}
}
});
}
Related articles
ReactControl (Preview)
Power Apps component framework API reference
Power Apps component framework overview
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for