Autocomplete
입력한 글자에 맞춰 추천 목록을 보여주고 빠르게 선택하게 합니다.
사용 가이드
#후보가 많고 이름을 알고 있는 검색·입력에 사용하세요. 정해진 소수의 값에서 고른다면 Select가 더 간단합니다.
오류 문구는 error 슬롯에 작성합니다.
컴포넌트 안에 <span slot="error">오류 메시지</span>을 넣으세요. 글자뿐 아니라 링크 등 필요한 안내도 넣을 수 있습니다. noNativeValidity를 지원하는 입력은 이를 켜면 브라우저 팝업 대신 이 안내를 표시합니다. Switch는 항상 컴포넌트 아래에 오류를 표시합니다.
업무 규칙의 실패는 setCustomError()로 알립니다.
예를 들어 서버가 중복된 값을 거절하면 error 슬롯의 문구를 바꾸고 setCustomError()를 호출하세요. 이 메서드에는 메시지 인자를 전달하지 않습니다. 사용자 지정 오류가 있으면 폼 제출도 차단됩니다.
해결 후 해제하고 제출 가능 여부를 확인합니다.
clearCustomError()로 업무 규칙 오류를 해제하세요. required나 입력 형식 검사까지 해제되지는 않습니다. await checkValidity()는 true/false를, reportValidity()는 검사 결과와 오류 표시를 함께 제공합니다. name을 지정한 유효한 값은 제출 시 FormData로 읽습니다.
추천 후보 준비
source에 문자열 배열을 전달합니다.검색 시점 조절
min으로 최소 글자 수를,debounceTime으로 입력 후 대기 시간(ms)을 정합니다.입력과 선택 구분
changed는 입력 변화,selected는 후보 선택을 알려줍니다. 필요한 이벤트에 앱의 처리를 연결하세요.
예제
#기능별 예제
#20개 주제에서 필요한 기능을 선택하세요. 속성 설정, 메서드 호출, 이벤트 결과와 슬롯 구성을 실행 화면과 코드로 확인할 수 있습니다.
일치하는 기능이 없습니다.
API reference
#이름에 마우스를 올리거나 키보드로 선택하면 적용 코드를 확인할 수 있습니다. 터치 화면에서는 이름을 누르세요.
<sy-autocomplete>
Properties
| Attribute / Property | Type | Default | Description |
|---|---|---|---|
boolean | false | 추천 목록을 비교할 때 대소문자를 구분합니다. | |
number | 0 | 입력 처리 지연 시간(ms)입니다. | |
boolean | false | 사용자 조작과 키보드 포커스를 차단합니다. | |
boolean | false | 추천 후보에서 일치하는 부분을 강조합니다. | |
boolean | false | 처리 중임을 표시합니다. | |
number | 0 | 추천을 시작할 최소 입력 글자 수입니다. | |
string | '' | FormData에 사용되는 필드 이름입니다. | |
string | '' | 값이 비어 있을 때 표시할 안내 문구입니다. | |
boolean | false | 현재 값을 보여주면서 사용자 수정을 막습니다. | |
boolean | false | 값이 없으면 폼 검증을 실패시킵니다. | |
'small' | 'medium' | 'large' | 'medium' | 컴포넌트의 크기입니다. | |
'default' | 'warning' | 'error' | 'success' | 'default' | 기본·성공·경고·오류 상태를 시각적으로 표현합니다. | |
string | '' | 현재 값 또는 항목의 식별 값입니다. | |
string[] | [] | 추천 후보 문자열 배열입니다. JavaScript 프로퍼티로 전달합니다. 객체·배열 값은 JavaScript 프로퍼티로 전달합니다. | |
'focus' | 'input' | 'focus' | 목록 또는 팝업을 여는 사용자 동작입니다. | |
boolean | false | 브라우저의 기본 오류 표시 대신 앱의 오류 UI를 사용할 때 지정합니다. checkValidity 검사 자체는 유지됩니다. |
Events
| Event | Detail | Description |
|---|---|---|
CustomEvent<{ value: string; isValid: boolean; status: string }> | 값 또는 선택 상태가 바뀔 때 발생합니다. | |
CustomEvent<{ value: string; isValid: boolean; status: string }> | 사용자가 항목을 선택했을 때 발생합니다. |
Methods
| Method | Returns | Description |
|---|---|---|
Promise<void> | 입력 또는 동작 요소에 키보드 포커스를 보냅니다. | |
Promise<void> | 입력 요소에서 포커스를 해제합니다. | |
Promise<boolean> | 현재 제약 조건에 맞으면 true, 아니면 false를 반환합니다. | |
Promise<boolean> | 현재 값을 검사하고 오류를 사용자에게 표시합니다. | |
Promise<string> | 현재 유효성 검사 상태를 반환합니다. | |
Promise<void> | 사용자 지정 오류 상태를 설정합니다. | |
Promise<void> | 사용자 지정 오류 상태를 해제합니다. |
Slots
| Slot | Description |
|---|---|
| 유효성 검사 오류 메시지입니다. |
<sy-autocomplete-option>
Properties
| Attribute / Property | Type | Default | Description |
|---|---|---|---|
string[] | [] | 추천 후보 문자열 배열입니다. JavaScript 프로퍼티로 전달합니다. 객체·배열 값은 JavaScript 프로퍼티로 전달합니다. | |
boolean | false | 처리 중임을 표시합니다. | |
number | -1 | 키보드 탐색 중인 후보의 인덱스입니다. Autocomplete가 관리합니다. | |
string | '' | 후보 필터링과 강조에 사용할 검색어입니다. | |
boolean | false | 추천 목록을 비교할 때 대소문자를 구분합니다. | |
boolean | false | 추천 후보에서 일치하는 부분을 강조합니다. |
Events
| Event | Detail | Description |
|---|---|---|
CustomEvent<number> | 이벤트의 detail에서 결과를 확인하세요. | |
CustomEvent<string> | 사용자가 항목을 선택했을 때 발생합니다. |
Methods
| Method | Returns | Description |
|---|---|---|
Promise<void> | 추천 옵션의 이벤트 연결을 초기화합니다. 일반 사용에서는 Autocomplete가 관리합니다. | |
Promise<void> | 현재 속성으로 컴포넌트를 다시 렌더링합니다. 일반 사용에서는 속성 변경이나 부모 컴포넌트가 갱신을 관리합니다. |