import React, { CSSProperties, HTMLAttributes, ReactNode } from 'react'; import { UploadData, UploadFunction } from './types'; import { WithRef } from '../utils/type'; export interface BaseUploadProps { /** * 文件被上传时调用的方法 * @param file 需要上传的文件的数据 * @param callbacks 文件上传过程中的回调,onProgress用来更新文件上传进度,onError用来告诉组件上传失败和失败的原因,onComplete用来告诉组件上传成功 * @returns 停止文件上传的方法,可以不传,不传时组件上没有停止上传的按钮 */ onUpload: UploadFunction; /** * 展示文件列表 * @default true */ showFileList?: boolean; /** * 文件列表,可以通过 getUploadValue 快速构造列表数据 */ value: UploadData[]; /** * 文件列表或文件状态发生变更时的回调 */ onChange: (files: UploadData[]) => void; /** * 可以上传的文件类型,参考:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#accept * @default '' */ accept?: string; /** * 持否支持多选文件 * @default false */ multiple?: boolean; /** 自定义样式名 */ className?: string; /** 自定义样式 */ style?: CSSProperties; /** * 禁用组件 * @default false */ disabled?: boolean; /** 根元素的 html 属性 */ rootHtmlProps?: WithRef, HTMLDivElement>; /** 展示文件的 html 属性 */ fileHtmlProps?: WithRef, HTMLDivElement>; children?: ReactNode; } export declare type BaseUploadRef = { handleClick: () => void; uploadFiles: (files: File[] | null) => Promise; }; export declare const BaseUpload: React.ForwardRefExoticComponent>;