import React, { ReactNode } from 'react'; import { UploadProps } from 'antd'; import { UploadChangeParam } from 'antd/lib/upload'; import helper, { DUploadFile, ThumbOptionProps } from './helper'; import './index.less'; type DUploadProps = Omit & { /** 初始文件列表(相当于defaultFileList,但优先级高于defaultFileList) */ value?: DUploadFile | DUploadFile[]; /** 文件列表(在Form组件中表现为受控列表,在一般情况下相当于初始文件列表,其优先级高于value属性) */ fileList?: DUploadFile | DUploadFile[]; /** 文件列表变化时的回调函数 */ onChange?: (list: DUploadFile[], info: UploadChangeParam) => void; /** 文件上传时的回调函数,支持Promise */ customRequest?: (file: DUploadFile, list: DUploadFile[], requestOption: any) => DUploadFile[] | Promise | void; /** 点击删除按钮时的回调,支持Promise */ onRemove?: (file: DUploadFile, list: DUploadFile[]) => DUploadFile[] | Promise | void; /** 点击下载按钮时的回调,支持Promise */ onDownload?: (file: DUploadFile) => DUploadFile | Blob | Promise | void; /** 点击预览按钮时的回调,支持Promise */ onPreview?: (file: DUploadFile) => DUploadFile | Blob | Promise | void; /** 上传按钮,等同于children但优先于children */ uploadButton?: ReactNode; /** 上传文件时的缩略图选项,null表示不生成缩略图 */ thumbOption?: ThumbOptionProps | null; /** 列表项样式类名 */ itemClassName?: string; enablePreview?: boolean | ((file: DUploadFile) => boolean); }; declare const DUpload: React.ForwardRefExoticComponent, "onChange" | "fileList" | "customRequest" | "onRemove" | "onDownload" | "onPreview"> & { /** 初始文件列表(相当于defaultFileList,但优先级高于defaultFileList) */ value?: DUploadFile | DUploadFile[] | undefined; /** 文件列表(在Form组件中表现为受控列表,在一般情况下相当于初始文件列表,其优先级高于value属性) */ fileList?: DUploadFile | DUploadFile[] | undefined; /** 文件列表变化时的回调函数 */ onChange?: ((list: DUploadFile[], info: UploadChangeParam) => void) | undefined; /** 文件上传时的回调函数,支持Promise */ customRequest?: ((file: DUploadFile, list: DUploadFile[], requestOption: any) => DUploadFile[] | Promise | void) | undefined; /** 点击删除按钮时的回调,支持Promise */ onRemove?: ((file: DUploadFile, list: DUploadFile[]) => DUploadFile[] | Promise | void) | undefined; /** 点击下载按钮时的回调,支持Promise */ onDownload?: ((file: DUploadFile) => DUploadFile | Blob | Promise | void) | undefined; /** 点击预览按钮时的回调,支持Promise */ onPreview?: ((file: DUploadFile) => DUploadFile | Blob | Promise | void) | undefined; /** 上传按钮,等同于children但优先于children */ uploadButton?: ReactNode; /** 上传文件时的缩略图选项,null表示不生成缩略图 */ thumbOption?: ThumbOptionProps | null | undefined; /** 列表项样式类名 */ itemClassName?: string | undefined; enablePreview?: boolean | ((file: DUploadFile) => boolean) | undefined; } & React.RefAttributes> & { imageToBase64: typeof helper.imageToBase64; }; export type { DUploadProps, DUploadFile }; export default DUpload;