Select

分类:

other

日期:

2022-2-05

标签:

chakra

Select component is a component that allows users pick a value from predefined options. Ideally, it should be used when there are more than 5 options, otherwise you might consider using a radio group instead.

Import#

import { Select } from '@chakra-ui/react';

Usage#

Here's a basic usage of the Select component.

<Select placeholder="Select option">
<option value="option1">Option 1</option>
<option value="option2">Option 2</option>
<option value="option3">Option 3</option>
</Select>

Changing the size of the Select#

The Select component comes in four sizes. The default is md.

  • xs (24px)
  • sm (32px)
  • md (40px)
  • lg (48px)
<Stack spacing={3}>
<Select placeholder="extra small size" size="xs" />
<Select placeholder="small size" size="sm" />
<Select placeholder="medium size" size="md" />
<Select placeholder="large size" size="lg" />
</Stack>

Changing the appearance of the Select#

Just like the input component, Select comes in 4 variants, outline, unstyled , flushed , and filled. Pass the variant prop and set it to either of these values.

<Stack spacing={3}>
<Select variant="outline" placeholder="Outline" />
<Select variant="filled" placeholder="Filled" />
<Select variant="flushed" placeholder="Flushed" />
<Select variant="unstyled" placeholder="Unstyled" />
</Stack>

Changing the icon in the Select#

As with most Chakra components, you can change the arrow icon used in the select. Simply pass the icon prop.

In case the custom icon size doesn't look right, you can pass the iconSize prop to change it.

<Select icon={<MdArrowDropDown />} placeholder="Woohoo! A new icon" />

Overriding the styles of the Select#

Even though the select comes with predefined styles, you can override pretty much any property. Here we'll override the background color.

<Select
bg="tomato"
borderColor="tomato"
color="white"
placeholder="Woohoo! A new background color!"
/>

Props#

The Select component composes Box so you can pass all Box props, and native Select props in addition to these:

colorScheme

Color Schemes Select

(string & {})

errorBorderColor

The border color when the select is invalid. Use color keys in `theme.colors` @example errorBorderColor = "red.500"

string

focusBorderColor

The border color when the select is focused. Use color keys in `theme.colors` @example focusBorderColor = "blue.500"

string

icon

The icon element to use in the select

React.ReactElement

iconColor

The color of the icon

string

iconSize

The size (width and height) of the icon

string

isDisabled

boolean

isInvalid

If true, the form control will be invalid. This has 2 side effects: - The FormLabel and FormErrorIcon will have `data-invalid` set to true - The form element (e.g, Input) will have `aria-invalid` set to true

boolean

isReadOnly

If true, the form control will be readonly

boolean

isRequired

If true, the form control will be required. This has 2 side effects: - The FormLabel will show a required indicator - The form element (e.g, Input) will have `aria-required` set to true

boolean

rootProps

Props to forward to the root div element

RootProps

size

"lg" | "md" | "sm" | "xs"
"md"

variant

"outline" | "filled" | "flushed" | "unstyled"
"outline"
footer logo

© 2022 Designed with chakra ui. Powered by contentlayerjs and nextjs etc. All rights reserved

TwitterYouTubeGithub