컴포넌트로 돌아가기
필터링, 키보드 탐색, 비동기 검색, 아이콘 커스텀 옵션을 지원하는 자동완성 입력 컴포넌트입니다.
라이브 데모
기본 자동완성
아이콘과 함께
크기
키보드 단축키
- • ↑ ↓ - 옵션 탐색
- • Enter - 선택
- • Escape - 닫기
Props
| 이름 | 타입 | 기본값 | 설명 |
|---|---|---|---|
options* | AutocompleteOption[] | - | { value, label, description?, icon? } 배열 |
value | string | - | 선택된 값 |
onChange | (value: string, option?: AutocompleteOption) => void | - | 값 변경 핸들러 |
placeholder | string | "검색하거나 선택하세요" | 플레이스홀더 텍스트 |
onSearch | (query: string) => AutocompleteOption[] | Promise<...> | - | 커스텀 검색 핸들러 (비동기 지원) |
filterable | boolean | true | 클라이언트 측 필터링 활성화 |
clearable | boolean | true | 지우기 버튼 표시 |
loading | boolean | false | 로딩 상태 |
size | "sm" | "md" | "lg" | "md" | 입력 크기 |
maxHeight | number | 300 | 드롭다운 최대 높이 (px) |
disabled | boolean | false | 비활성화 상태 |
error | boolean | false | Whether to show error state |
emptyText | string | - | Text to display when no options match |
코드 예시
접근성
- •키보드 탐색: 방향키, Enter, Escape 지원
- •ARIA: aria-autocomplete, aria-expanded, aria-controls
- •스크린 리더: 올바른 role='listbox'와 role='option'