Select
Allows users to select one or more values from a list.
Props#
Select renders a Menu and accepts all of it's props. See: Chakra UI docs
| Prop | Type | Default | Description |
|---|---|---|---|
namerequired | string | The name of the input field in a native form. | |
| arrowPadding | number | 8 | The padding required to prevent the arrow from reaching the very edge of the popper. |
| autoSelect | boolean | true | If true, the first enabled menu item will receive focus and be selected
when the menu opens. |
| boundary | HTMLElement | "clippingParents" | "scrollParent" | clippingParents | The boundary area for the popper. Used within the preventOverflow modifier |
| children | string | number | bigint | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<...> | ||
| closeOnBlur | boolean | true | If true, the menu will close when you click outside
the menu list |
| closeOnSelect | boolean | true | If true, the menu will close when a menu item is
clicked |
| colorScheme | "whiteAlpha" | "blackAlpha" | "gray" | "red" | "orange" | "yellow" | "green" | "teal" | "blue" | "cyan" | "purple" | "pink" | "linkedin" | "facebook" | "messenger" | "whatsapp" | "twitter" | "telegram" | "primary" | "secondary" | "indigo" | The visual color appearance of the component | |
| computePositionOnMount | boolean | ||
| defaultIsOpen | boolean | ||
| defaultValue | NonNullable<Value> | The initial value of the select field. | |
| direction | "ltr" | "rtl" | If rtl, proper placement positions will be flipped i.e. 'top-right' will
become 'top-left' and vice-verse | |
| eventListeners | type ONLY_FOR_FORMAT =
| boolean
| { scroll?: boolean | undefined resize?: boolean | undefined } | true | If provided, determines whether the popper will reposition itself on scroll
and resize of the window. |
| flip | boolean | true | If true, the popper will change its placement and flip when it's
about to overflow its boundary area. |
| gutter | number | 8 | The distance or margin between the reference and popper.
It is used internally to create an offset modifier.
NB: If you define offset prop, it'll override the gutter. |
| id | string | ||
| initialFocusRef | RefObject<{ focus(): void }> | The ref of the element that should receive focus when the popover opens. | |
| isDisabled | boolean | If true, the select will be disabled. | |
| isLazy | boolean | false | Performance 🚀:
If true, the MenuItem rendering will be deferred
until the menu is open. |
| isOpen | boolean | ||
| lazyBehavior | LazyMode | unmount | Performance 🚀: The lazy behavior of menu's content when not visible. Only works when `isLazy={true}` - "unmount": The menu's content is always unmounted when not open. - "keepMounted": The menu's content initially unmounted, but stays mounted when menu is open. |
| matchWidth | boolean | false | If true, the popper will match the width of the reference at all times.
It's useful for autocomplete, `date-picker` and select patterns. |
| modifiers | Partial<Modifier<string, any>>[] | Array of popper.js modifiers. Check the docs to see the list of possible modifiers you can pass. | |
| multiple | Multiple | Enable multiple select. | |
| offset | [number, number] | The main and cross-axis offset to displace popper element from its reference element. | |
| onChange | (value: Value) => void | The callback invoked when the value of the select field changes. | |
| onClose | () => void | ||
| onOpen | () => void | ||
| options | FieldOptions<SelectOption> | An array of options If you leave this empty the children prop will be rendered. | |
| placeholder | string | The placeholder text when there's no value. | |
| placement | PlacementWithLogical | bottom | The placement of the popper relative to its reference. |
| preventOverflow | boolean | true | If true, will prevent the popper from being cut off and ensure
it's visible within the boundary area. |
| renderValue | (value: Value) => ReactNode | The function used to render the value of the select field. | |
| size | "lg" | "md" | "sm" | "xs" | md | The size of the Select |
| strategy | "fixed" | "absolute" | absolute | The CSS positioning strategy to use. |
| value | NonNullable<Value> | The value of the select field. | |
| variant | "outline" | "filled" | "flushed" | "unstyled" | outline | The variant of the Select |
Was this helpful?