🌈 An enterprise-class UI components based on Ant Design and Vue. 🐜
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

186 lines
4.3 KiB

// Project: https://github.com/vueComponent/ant-design-vue
// Definitions by: akki-jat <https://github.com/akki-jat>
// Definitions: https://github.com/vueComponent/ant-design-vue/types
import { AntdComponent } from './component';
export interface VcFile extends File {
uid: string;
readonly lastModifiedDate: Date;
readonly webkitRelativePath: string;
}
export interface UploadFile<T = any> {
uid: string;
size: number;
name: string;
fileName?: string;
lastModified?: number;
lastModifiedDate?: Date;
url?: string;
status?: UploadFileStatus;
percent?: number;
thumbUrl?: string;
originFileObj?: File | Blob;
response?: T;
error?: any;
linkProps?: any;
type: string;
xhr?: T;
preview?: string;
}
export interface ShowUploadList {
showRemoveIcon?: boolean;
showPreviewIcon?: boolean;
showDownloadIcon?: boolean;
}
export interface UploadLocale {
uploading?: string;
removeFile?: string;
downloadFile?: string;
uploadError?: string;
previewFile?: string;
}
export type UploadType = 'drag' | 'select';
export type UploadListType = 'text' | 'picture' | 'picture-card';
export type UploadFileStatus = 'error' | 'success' | 'done' | 'uploading' | 'removed';
type PreviewFileHandler = (file: File | Blob) => PromiseLike<string>;
type TransformFileHandler = (
file: VcFile,
) => string | Blob | File | PromiseLike<string | Blob | File>;
export declare class Upload extends AntdComponent {
static Dragger: typeof Upload;
/**
* File types that can be accepted.
* @type string
*/
accept: string;
/**
* Uploading URL
* @type string | Function
*/
action: string | Function;
/**
* support upload whole directory
* @type boolean
* @see https://caniuse.com/#feat=input-file-directory
*/
directory: boolean;
/**
* Hook function which will be executed before uploading.
* Uploading will be stopped with false or a rejected Promise returned.
* Warning:this function is not supported in IE9.
* @type Function
*/
beforeUpload: (file: any, fileList: any) => boolean | Promise<boolean>;
/**
* override for the default xhr behavior allowing for additional customization and ability to implement your own XMLHttpRequest
* @type Function
*/
customRequest: Function;
/**
* Uploading params or function which can return uploading params.
* @type object | Function
*/
data: object | Function;
method?: 'POST' | 'PUT' | 'post' | 'put';
/**
* Default list of files that have been uploaded.
* @type UploadFile[]
*/
defaultFileList: UploadFile[];
/**
* disable upload button
* @default false
* @type boolean
*/
disabled: boolean;
/**
* List of files that have been uploaded (controlled)
* @type UploadFile[]
*/
fileList: UploadFile[];
/**
* Set request headers, valid above IE10.
* @type object
*/
headers: object;
/**
* Built-in stylesheets, support for three types: text, picture or picture-card
* @default 'text'
* @type string
*/
listType: 'text' | 'picture' | 'picture-card';
/**
* Whether to support selected multiple file. IE10+ supported.
* You can select multiple files with CTRL holding down while multiple is set to be true
* @default false
* @type boolean
*/
multiple: boolean;
/**
* The name of uploading file
* @default 'file'
* @type string
*/
name: string;
/**
* Whether to show default upload list, could be an object to specify showPreviewIcon and showRemoveIcon individually
* @default true
* @type boolean | ShowUploadList
*/
showUploadList: boolean | ShowUploadList;
/**
* Need to be turned on while the server side is rendering.
* @default false
* @type boolean
*/
supportServerRender: boolean;
/**
* ajax upload with cookie sent
* @default false
* @type boolean
*/
withCredentials: boolean;
/**
* click open file dialog
* @default true
* @type boolean
*/
openFileDialogOnClick: boolean;
/**
* A callback function, will be executed when removing file button is clicked,
* remove event will be prevented when return value is false or a Promise which resolve(false) or reject.
* @type Function
*/
remove: (file: any) => boolean | Promise<boolean>;
locale?: UploadLocale;
id?: string;
previewFile?: PreviewFileHandler;
transformFile?: TransformFileHandler;
}