File Upload
PRO파일 선택과 끌어 놓기, 파일 목록 및 업로드 상태를 구성합니다.
사용 가이드
#파일 선택과 업로드 진행 상태를 보여줍니다. 실제 서버 업로드는 앱에서 연결해야 합니다.
오류 문구는 error 슬롯에 작성합니다.
컴포넌트 안에 <span slot="error">오류 메시지</span>을 넣으세요. 글자뿐 아니라 링크 등 필요한 안내도 넣을 수 있습니다. noNativeValidity를 지원하는 입력은 이를 켜면 브라우저 팝업 대신 이 안내를 표시합니다. Switch는 항상 컴포넌트 아래에 오류를 표시합니다.
업무 규칙의 실패는 setCustomError()로 알립니다.
예를 들어 서버가 중복된 값을 거절하면 error 슬롯의 문구를 바꾸고 setCustomError()를 호출하세요. 이 메서드에는 메시지 인자를 전달하지 않습니다. 사용자 지정 오류가 있으면 폼 제출도 차단됩니다.
해결 후 해제하고 제출 가능 여부를 확인합니다.
clearCustomError()로 업무 규칙 오류를 해제하세요. required나 입력 형식 검사까지 해제되지는 않습니다. await checkValidity()는 true/false를, reportValidity()는 검사 결과와 오류 표시를 함께 제공합니다. name을 지정한 유효한 값은 제출 시 FormData로 읽습니다.
선택 조건 정하기
accept는 파일 형식,maxSize는 바이트 단위 크기,maxFiles는 최대 개수입니다.업로드 연결
selected또는changed에서 선택 파일을 받아 서버로 전송하세요.진행 상태 반영
setProgress()로 진행률을 갱신하고,removeFile()또는clear()로 목록을 정리합니다.
예제
#기능별 예제
#30개 주제에서 필요한 기능을 선택하세요. 속성 설정, 메서드 호출, 이벤트 결과와 슬롯 구성을 실행 화면과 코드로 확인할 수 있습니다.
일치하는 기능이 없습니다.
API reference
#이름에 마우스를 올리거나 키보드로 선택하면 적용 코드를 확인할 수 있습니다. 터치 화면에서는 이름을 누르세요.
<sy-file-upload>
Properties
| Attribute / Property | Type | Default | Description |
|---|---|---|---|
boolean | false | 사용자 조작과 키보드 포커스를 차단합니다. | |
boolean | false | 값이 없으면 폼 검증을 실패시킵니다. | |
string | '' | 선택 가능한 확장자 또는 MIME 형식입니다. | |
boolean | false | 여러 파일을 선택할 수 있게 합니다. | |
number | 0 | 파일 하나의 최대 크기(bytes)입니다. 0이면 제한하지 않습니다. | |
number | 0 | 선택 가능한 파일 개수입니다. 0이면 제한하지 않습니다. | |
string | 'files' | FormData에 사용되는 필드 이름입니다. | |
string | 'Browse files' | 파일 선택 버튼 문구입니다. | |
string | 'Drop files here or browse' | 끌어 놓기 영역의 안내 문구입니다. | |
string | '' | 파일 제한 등의 보조 설명입니다. | |
boolean | false | 선택된 파일 목록을 숨깁니다. | |
string | '' | 항목을 설명하는 레이블입니다. | |
string | '' | 입력 상태에 대한 안내 문구입니다. | |
boolean | false | 브라우저의 기본 오류 표시 대신 앱의 오류 UI를 사용할 때 지정합니다. checkValidity 검사 자체는 유지됩니다. | |
'' | 'default' | 'error' | 'warning' | 'success' | '' | 파일 업로드 영역의 상태 스타일입니다. |
Events
| Event | Detail | Description |
|---|---|---|
CustomEvent<{ files: SyUploadFileItem[] }> | Fires after the user adds files (drag-drop or browse). Carries the accepted file items. | |
CustomEvent<{ file: File; reason: string }> | Fires for each file rejected by format, size or count limits. | |
CustomEvent<{
files: SyUploadFileItem[];
added: SyUploadFileItem[];
removed: SyUploadFileItem[];
isValid: boolean;
}> | Fires whenever the internal file list changes (selection, removal, status update). `added` / `removed` carry the delta since the previous emit so the consumer can reconcile its own state without diffing the full list. | |
CustomEvent<{ file: SyUploadFileItem; files: SyUploadFileItem[] }> | Fires when a file is removed from the list. | |
CustomEvent<void> | 포커스를 받으면 발생합니다. | |
CustomEvent<void> | 포커스를 잃으면 발생합니다. |
Methods
| Method | Returns | Description |
|---|---|---|
Promise<void> | 파일 선택 창을 엽니다. 사용자 클릭 동작 안에서 호출하세요. | |
Promise<void> | 선택한 파일 목록을 비웁니다. | |
Promise<void> | fileId에 해당하는 파일을 목록에서 제거합니다. | |
Promise<void> | 파일의 업로드 진행률과 상태를 갱신합니다. | |
Promise<SyUploadFileItem[]> | 선택 파일 목록을 반환합니다. | |
Promise<SyUploadFileItem | null> | 지정한 인덱스의 파일을 반환합니다. | |
Promise<void> | 지정한 fileId를 활성 파일로 표시합니다. | |
Promise<boolean> | 현재 제약 조건에 맞으면 true, 아니면 false를 반환합니다. | |
Promise<boolean> | 현재 값을 검사하고 오류를 사용자에게 표시합니다. | |
Promise<void> | 사용자 지정 오류 상태를 설정합니다. | |
Promise<void> | 사용자 지정 오류 상태를 해제합니다. | |
Promise<string> | 현재 유효성 검사 상태를 반환합니다. | |
Promise<void> | 입력 또는 동작 요소에 키보드 포커스를 보냅니다. | |
Promise<void> | 입력 요소에서 포커스를 해제합니다. |
Slots
| Slot | Description |
|---|---|
| 컴포넌트의 본문 또는 자식 항목입니다. | |
| 유효성 검사 오류 메시지입니다. | |
| 입력 안내 메시지입니다. |