Skip to content

DropdownField

DropdownField renders a PrimeReact Dropdown for selecting a single value from a list of options.

import { CommandDialog } from '@cratis/components/CommandDialog';
import { DropdownField } from '@cratis/components/CommandForm';
const statusOptions = [
{ label: 'Active', value: 'active' },
{ label: 'Inactive', value: 'inactive' },
];
<CommandDialog command={MyCommand} visible={visible} onCancel={() => setVisible(false)}>
<DropdownField<MyCommand>
value={c => c.status}
options={statusOptions}
optionLabel="label"
optionValue="value"
placeholder="Select a status"
/>
</CommandDialog>

With custom data:

const roles = [
{ id: 'admin', display: 'Administrator' },
{ id: 'user', display: 'Standard User' },
];
<DropdownField<MyCommand>
value={c => c.role}
options={roles}
optionLabel="display"
optionValue="id"
/>
PropTypeDefaultDescription
value(instance: TCommand) => unknownRequired. Accessor function that returns the bound property from the command instance. Pass the command type as the generic parameter for full type safety.
optionsArray<{ [key: string]: unknown }>Required. Array of option objects.
optionLabelstringRequired. Key in each option object to use as the display label.
optionValuestringRequired. Key in each option object to use as the submitted value.
placeholderstringPlaceholder text shown when no value is selected.
  • Default value is an empty string.
  • The field spans full width within its container.
  • Validation state is reflected via the PrimeReact invalid flag.