Form Field Types
Radio
The radio type is a controlled component provided by radix-ui. Using the choices property, you can pass a single array of string values or { value, label, disabled? } values. It is similar to the select option, however all the choices are displayed in a list.
// note, this is an element in the fields array (see getting started) { type: 'radio', name: 'dinner-choice', label: 'Dinner choice', helpText: 'Note, the vegetarian option is vegan.', choices:[ { label: 'Chicken', value: 'chicken' }, { label: 'Fish', value: 'fish' }, 'Vegetarian', ] } // ... rest of the fields array
Demo
Properties
The following documents the full list of properties that alter a text field's behavior.
| Property | Type | Description |
|---|---|---|
| name | String | The form data/state object property name. |
| label | String | The label for the form field. This is typically displayed next to the field to describe what it is for. |
| default | String | The default value for the form field. This is used to pre-populate the field with a value when the form is first loaded. |
| choices | RDFChoiceOption[] | An array of string or `{ value: string, label: string, disabled?: boolean }. Note that a combination of types may be used if desired. |
| helpText | String | Additional text that can be displayed below the form field to provide additional information or instructions for the user. |
| HelpText | ReactElement | To render markup, tooltips and other more advanced help options, a component can be returned from this property. |
| observe | Boolean | Determines if the field will be included in stateful updates that can be passed both during validation and changes to form state. See advanced topics for more detail |
| disabled | Boolean | Determines whether the form field should be disabled. Values and any state prior to being disabled is preserved. |
| hidden | Boolean | Determines whether the form field should be hidden. Note, that this is done with CSS. The markup will still be rendered as to avoid unnecessary re-renders and destruction of controlled input state. |
| options | RegisterOptions | Object you would pass if you were using react-hook-form directly. RDF calls register automatically and passes this configuration as the second argument. |