123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- import { ElementUIComponent } from './component'
- export type ListType = 'text' | 'picture' | 'picture-card'
- export type FileUploadStatus = 'ready' | 'uploading' | 'success' | 'fail'
- export interface FileListItem {
- name: string,
- url: string,
- status?: FileUploadStatus
- }
- export interface ElUploadInternalRawFile extends File {
- uid: number
- }
- export interface ElUploadInternalFileDetail {
- status: FileUploadStatus,
- name: string,
- size: number,
- percentage: number,
- uid: number,
- raw: ElUploadInternalRawFile,
- url?: string
- }
- export interface ElUploadProgressEvent extends ProgressEvent {
- percent: number
- }
- export interface HttpRequestOptions {
- headers: object,
- withCredentials: boolean,
- file: File,
- data: object,
- filename: string,
- action: string,
- onProgress: (e: ElUploadProgressEvent) => void,
- onSuccess: (response: any) => void,
- onError: (err: ErrorEvent) => void
- }
- /** Upload Component */
- export declare class ElUpload extends ElementUIComponent {
- /** Request URL (required) */
- action: string
- /** Request headers */
- headers: object
- /** Whether uploading multiple files is permitted */
- multiple: boolean
- /** Additions options of request */
- data: object
- /** Key name for uploaded file */
- name: string
- /** Whether cookies are sent */
- withCredentials: boolean
- /** Whether to show the uploaded file list */
- showFileList: boolean
- /** Whether to activate drag and drop mode */
- drag: boolean
- /** Accepted file types, will not work when thumbnail-mode is true */
- accept: string
- /** Hook function when clicking the uploaded files */
- onPreview: (file: ElUploadInternalFileDetail) => void
- /** Hook function when files are removed */
- onRemove: (file: ElUploadInternalFileDetail, fileList: ElUploadInternalFileDetail[]) => void
- /** Hook function when uploaded successfully */
- onSuccess: (response: any, file: ElUploadInternalFileDetail, fileList: ElUploadInternalFileDetail[]) => void
- /** Hook function when some errors occurs */
- onError: (err: ErrorEvent, file: ElUploadInternalFileDetail, fileList: ElUploadInternalFileDetail[]) => void
- /** Hook function when some progress occurs */
- onProgress: (event: ElUploadProgressEvent, file: ElUploadInternalFileDetail, fileList: ElUploadInternalFileDetail[]) => void
- /** Hook function when file status change */
- onChange: (file: ElUploadInternalFileDetail, fileList: ElUploadInternalFileDetail[]) => void
- /** Hook function before uploading with the file to be uploaded as its parameter. If false or a Promise is returned, uploading will be aborted */
- beforeUpload: (file: ElUploadInternalRawFile) => boolean | Promise<File | Blob | boolean>
- /** Whether thumbnail is displayed */
- thumbnailMode: boolean
- /** Default uploaded files */
- fileList: FileListItem[]
- /** Type of fileList */
- listType: ListType
- /** Whether to auto upload file */
- autoUpload: boolean
- /** Override default xhr behavior, allowing you to implement your own upload-file's request */
- httpRequest: (options: HttpRequestOptions) => void
- /** Whether to disable upload */
- disabled: boolean
- /** Maximum number of uploads allowed */
- limit: number
- /** Hook function when limit is exceeded */
- onExceed: (file: ElUploadInternalFileDetail, fileList: ElUploadInternalFileDetail[]) => void
- /** Clear the upload file list */
- clearFiles (): void;
- /** Abort specified file */
- abort (file: ElUploadInternalFileDetail): void
- /** Upload the file list manually */
- submit ():void;
- }
|