yrd-ui
Version:
npx create-react-app --template typescript yrd-ui
52 lines (51 loc) • 1.79 kB
TypeScript
import React from "react";
export type UploadFileStatus = 'ready' | 'uploading' | 'success' | 'error';
export interface UploadFile {
uid: string;
size: number;
name: string;
status?: UploadFileStatus;
percent?: number;
raw?: File;
response?: any;
error?: any;
}
export interface UploadProps {
/**必选参数, 上传的地址 */
action: string;
/**上传的文件列表,*/
defaultFileList?: UploadFile[];
/**上传文件之前的钩子,参数为上传的文件,若返回 false 或者 Promise 则停止上传。 */
beforeUpload?: (file: File) => boolean | Promise<File>;
/**文件上传时的钩子 */
onProgress?: (percentage: number, file: UploadFile) => void;
/**文件上传成功时的钩子 */
onSuccess?: (data: any, file: UploadFile) => void;
/**文件上传失败时的钩子 */
onError?: (err: any, file: UploadFile) => void;
/**文件状态改变时的钩子,上传成功或者失败时都会被调用 */
onChange?: (file: UploadFile) => void;
/**文件列表移除文件时的钩子 */
onRemove?: (file: UploadFile) => void;
/**设置上传的请求头部 */
headers?: {
[key: string]: any;
};
/**上传的文件字段名 */
name?: string;
/**上传时附带的额外参数 */
data?: {
[key: string]: any;
};
/**支持发送 cookie 凭证信息 */
withCredentials?: boolean;
/**可选参数, 接受上传的文件类型 */
accept?: string;
/**是否支持多选文件 */
multiple?: boolean;
/**是否支持拖拽上传 */
drag?: boolean;
children?: React.ReactNode;
}
export declare const Upload: React.FC<UploadProps>;
export default Upload;