/// import React from 'react'; declare global { /** * 增强的File,经过FileUtils处理后的文件对象 */ interface FileX { file: File; md5: string; result: string | ArrayBuffer | ByteString; } } export interface FileUtilsProps { /** * 接受的文件类型,类似['.jpg','.png'] */ accept?: string[]; /** * 使用fileReader */ readAs?: 'Text' | 'DataURL' | 'ArrayBuffer' | 'BinaryString'; /** * 上传前确认 */ onBeforeChange?: (e: React.SyntheticEvent) => void; /** * 接收到文件 */ onFile?: (filelist: FileList | null) => void; /** * 读完后的内容 */ onChange?: ((fileList: FileX[]) => void) | undefined; className?: string; styleName?: string; /** * 是否多选 */ multiple?: boolean; /** * 是否只是拖拽 */ dragOnly?: boolean; /** * 是否禁用 */ disable?: boolean; } export interface FileUtilsState { className?: string; dragOver?: boolean; } declare class FileUtils extends React.Component { file: HTMLInputElement; constructor(props: FileUtilsProps); componentWillUnmount(): void; render(): JSX.Element; handleRef: (element: HTMLInputElement) => void; onDragOver: () => void; onDragLeave: () => void; /** * 组件被点击 */ handleFileUtilsClick: (e: React.SyntheticEvent) => Promise; /** * 组件接收文件拖拽 */ handleFileUtilsDrop: (e: React.DragEvent) => void; /** * 组件file的onChange事件 */ handleFileChange: (e: React.ChangeEvent) => void; /** * 接受文件进行处理 */ fileIntoProcess: (filelist: FileList | null) => Promise; } export default FileUtils;