본문으로 건너뛰기

Select

Select

사용자가 여러 옵션 중 하나를 선택할 수 있도록 하는 컴포넌트 입니다.

Basic Usage

<Select>
<Select.Trigger />
<Select.Value>apple</Select.Value>
<Select.OptionGroup>
<Select.Option id="orange">Orange</Select.Option>
<Select.Option id="apple">Apple</Select.Option>
<Select.Option id="grape">Grape</Select.Option>
</Select.OptionGroup>
</Select>

API

Select

PropTypeDefaultDescription
externalSelectedOption?T = any-external select state
defalutSelected?T = any-default select state
onSelectChange?(option : T) => void-external select setState. should be accompanied by externalSelectedOption.
externalOpen?boolean-external open state
defaultOpen?boolean-default open state
onOpenChange?() => void-external open setState. should be accompanied by externalOpen.

Trigger

PropTypeDefaultDescription
asChild?boolean undefinedfalseChange the default rendered element for the one passed as a child, merging their props and functions.
className?string-styling props for target component
onTriggerClick(e: MouseEvent) => void-external function to control trigger component.

OptionGroup

PropTypeDefaultDescription
asChild?boolean undefinedfalseChange the default rendered element for the one passed as a child, merging their props and functions.
className?string-styling props for target component

Option

PropTypeDefaultDescription
asChild?boolean undefinedfalseChange the default rendered element for the one passed as a child, merging their props and functions.
className?string-styling props for target component
onOptionClick(e: MouseEvent) => void-external function to control option component.
idT = any-props used to identify an option.

Value

PropTypeDefaultDescription
asChild?boolean undefinedfalseChange the default rendered element for the one passed as a child, merging their props and functions.
className?string-styling props for target component
optionsRecord<number, T = any>-external object to match option with specific value.
defaultValueT = any-default value.