Page updated Jan 16, 2024

Extend input element in code

Amplify Studio Forms are all based on top of the Amplify UI library. The generated form provides a mechanism to override properties for each individual input component.

Dynamically modify specific input properties

Use the overrides property to select the input component you want to override and then pass in the props that you'd like to change. For example, we want to dynamically toggle the descriptive text of a particular form element:

function ProductFormContainer({ productType }) { return ( <div className="App"> <ProductForm overrides={{ name: { descriptiveText: `Enter ${productType} name` } }} /> </div> ); }
1function ProductFormContainer({ productType }) {
2 return (
3 <div className="App">
4 <ProductForm
5 overrides={{
6 name: {
7 descriptiveText: `Enter ${productType} name`
8 }
9 }}
10 />
11 </div>
12 );
13}

Note: We do not recommend overriding properties that are already set by the generated form. This could lead to unexpected behavior during runtime. Verify the set properties by navigating to the component in the src/ui-components/<your-form-component>.jsx file.