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
Prop | Type | Default | Description |
---|---|---|---|
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
Prop | Type | Default | Description |
---|---|---|---|
asChild? | boolean undefined | false | Change 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
Prop | Type | Default | Description |
---|---|---|---|
asChild? | boolean undefined | false | Change the default rendered element for the one passed as a child, merging their props and functions. |
className? | string | - | styling props for target component |
Option
Prop | Type | Default | Description |
---|---|---|---|
asChild? | boolean undefined | false | Change 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. |
id | T = any | - | props used to identify an option. |
Value
Prop | Type | Default | Description |
---|---|---|---|
asChild? | boolean undefined | false | Change the default rendered element for the one passed as a child, merging their props and functions. |
className? | string | - | styling props for target component |
options | Record<number, T = any> | - | external object to match option with specific value. |
defaultValue | T = any | - | default value. |