# Component/Dropdown > Props: component-dropdown.props.txt ## Examples ### Base ```tsx { args: { placeholder: '옵션 선택하기', options: options }, render: args => { const [value, setValue] = useState(''); return ; } } ``` ### Controlled ```tsx { render: () => { const [value, setValue] = useState('value-4'); const handleButtonClick = () => { setValue('value-2'); }; return ; } } ``` ### Custom Label ```tsx { render: () => { const [value, setValue] = useState(''); return 낮은 금액 할인 상품 , value: 'CA' }, { label: 노출 효율 좋은 상품 , value: 'KO' }, { label: 반응 좋은 신상품 , value: 'US' }]} onChange={setValue} renderLabel={selectedOption => { switch (selectedOption.value) { case 'CA': return 낮은 금액 할인 상품 할인 금액이 500원 이하인 상품들을 모았어요. ; case 'KO': return 노출 효율 좋은 상품 구매 수 또는 노출 수가 높은 상품들을 모았어요. ; case 'US': return 반응 좋은 신상품 최근 7일간 총 매출 1,000원 또는 주문 {value}건 이상인 상품들을 모았어요. ; default: return selectedOption.label; } }} />; } } ``` ### Custom Max Height ```tsx { args: { placeholder: '옵션 선택하기', options: options }, render: args => { const [value, setValue] = useState(''); return ; }, args: { placeholder: '옵션 선택하기', options: options, maxHeight: 100 } } ``` ### Disabled ```tsx { args: { placeholder: '옵션 선택하기', options: options }, render: args => { const [value, setValue] = useState(''); return ; }, args: { placeholder: '옵션 선택하기', disabled: true, options: options } } ``` ### Disabled Option Item ```tsx { args: { placeholder: '옵션 선택하기', options: options }, render: args => { const [value, setValue] = useState(''); return ; }, args: { placeholder: '옵션 선택하기', options: [...options, { label: 'option 6', value: 'value-6', disabled: true }] } } ``` ### Error ```tsx { args: { placeholder: '옵션 선택하기', options: options }, render: args => { const [value, setValue] = useState(''); return ; }, args: { placeholder: '옵션 선택하기', status: 'error', options: options } } ``` ### Flip ```tsx { render: args =>
, args: { placeholder: '옵션 선택하기', options: options } } ``` ### No Options ```tsx { args: { placeholder: '옵션 선택하기', options: options }, render: args => { const [value, setValue] = useState(''); return ; }, args: { placeholder: '옵션 선택하기', options: [] } } ``` ### Size ```tsx { render: () => { const getIconOptionsWithSize = (size: InputSize) => { return Array.from({ length: 3 }, (_, i) => i).map(value => ({ label: Label {value} , value })); }; return ; } } ``` ### With Form Helper Text ```tsx { render: () => Error Message } ``` ### With Icon ```tsx { render: () => { const iconOptions = [{ label: Label 1 , value: 3 }, { label: Label 2 , value: 2 }]; return ; } } ```