# Component/DropdownFilter > Props: component-dropdownfilter.props.txt ## Examples ### All Check ```tsx { args: { label: 'Label', options, allCheck: true }, render: args => { const [value, onChange] = useState<(string | number)[]>([]); return { onChange(value); }} />; } } ``` ### Base ```tsx { args: { label: 'Label', options }, render: args => { const [value, onChange] = useState<(string | number)[]>([]); return ; } } ``` ### Custom Max Height 최대 높이는 필터검색 및 하단 적용 bottom 버튼 영역을 제외한 옵션리스트 내부의 높이를 지정할 수 있습니다. ```tsx { args: { label: 'Label', startIcon: , options, showFilter: false, maxHeight: 100 }, parameters: { docs: { description: { story: '최대 높이는 필터검색 및 하단 적용 bottom 버튼 영역을 제외한 옵션리스트 내부의 높이를 지정할 수 있습니다.' } } }, render: args => { const [value, onChange] = useState<(string | number)[]>([]); return ; } } ``` ### Custom Width ```tsx { args: { label: 'Label', startIcon: , options, width: 250, optionsMatchRefWidth: true }, render: args => { const [value, onChange] = useState<(string | number)[]>([]); return ; } } ``` ### Default Values ```tsx { args: { label: 'Label', options }, render: args => { const defaultValues = [1, 2, 5]; const [value, onChange] = useState<(string | number)[]>(defaultValues); return onChange(values)} />; } } ``` ### Disabled ```tsx { args: { label: 'Label', startIcon: , options, disabled: true }, render: args => { return ; } } ``` ### Disabled Item ```tsx { args: { label: 'Label', startIcon: , options: [{ label: 'apple', value: 1 }, { label: 'orange', value: 2, disabled: true }, { label: 'mango', value: 3 }, { label: 'lemon', value: 4, disabled: true }] }, render: args => { return ; } } ``` ### Error ```tsx { args: { label: 'Label', startIcon: , options, status: 'error' }, render: args => { return ; } } ``` ### External Edit ```tsx { args: { label: 'Label', options }, render: args => { const [value, onChange] = useState<(string | number)[]>([]); useEffect(() => { const timerId = setInterval(() => { onChange(() => Math.random() > 0.5 ? [Math.floor(Math.random() * 8) + 1] : []); }, 3000); return () => { clearInterval(timerId); }; }, []); return ; } } ``` ### Helper Text ```tsx { args: { label: 'Label', helperText: 'info message', options }, render: args => { const [value, onChange] = useState<(string | number)[]>([]); return ; } } ``` ### Selected ```tsx { args: { label: 'Label', startIcon: , options }, render: args => { const [value, onChange] = useState<(string | number)[]>([2, 3, 6]); return onChange(value)} />; } } ``` ### Selection Group ```tsx { args: { label: 'Label', startIcon: , showFilter: true, optionFilter: (inputValue, { label }) => label.includes(inputValue), selectionGroup }, render: args => { const [value, onChange] = useState<(string | number)[]>([]); return ; } } ``` ### Selection Radio Type ```tsx { args: { label: 'Label', startIcon: , options, kind: 'radio' }, render: args => { const [value, onChange] = useState<(string | number)[]>([]); const [group_value, onChangeGroup] = useState<(string | number)[]>([]); return 기본 Selection Group ; } } ``` ### Show Filter ```tsx { args: { label: 'Label', startIcon: , options, showFilter: true, optionFilter: (inputValue, { label }) => label.includes(inputValue) }, render: args => { const [value, onChange] = useState<(string | number)[]>([]); return { onChange(value); }} />; } } ``` ### Size ```tsx { args: { label: 'Label', startIcon: , options, showFilter: true }, render: args => { const [value, onChange] = useState<(string | number)[]>([]); return 기본 필터 사용 ; } } ``` ### With Help Text ```tsx { args: { label: 'Label', startIcon: , options, helperText: 'info message' }, render: args => { const [value, onChange] = useState<(string | number)[]>([]); return ; } } ``` ### With Icon ```tsx { args: { label: 'Label', startIcon: , options }, render: args => { const [value, onChange] = useState<(string | number)[]>([]); return ; } } ```