@nutui/nutui-react-taro
Version:
京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序
62 lines (61 loc) • 2.15 kB
TypeScript
import { default as React } from 'react';
import { UploadOptions } from './upload';
import { BasicComponent } from '../../utils/typings';
import { FileItem } from './file-item';
export interface UploaderProps extends BasicComponent {
url: string;
maxCount: string | number;
maxFileSize: number;
defaultValue?: FileItem[];
value?: FileItem[];
previewType: 'picture' | 'list';
fit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down';
uploadIcon?: React.ReactNode;
deleteIcon?: React.ReactNode;
uploadLabel?: React.ReactNode;
name: string;
accept: string;
disabled: boolean;
autoUpload: boolean;
multiple: boolean;
timeout: number;
data: any;
method: string;
xhrState: number | string;
headers: any;
withCredentials: boolean;
clearInput: boolean;
preview: boolean;
deletable: boolean;
capture: boolean | 'user' | 'environment';
className: string;
previewUrl?: string;
style: React.CSSProperties;
onStart?: (option: UploadOptions) => void;
onDelete?: (file: FileItem, files: FileItem[]) => void;
onSuccess?: (param: {
responseText: XMLHttpRequest['responseText'];
option: UploadOptions;
files: FileItem[];
}) => void;
onProgress?: (param: {
e: ProgressEvent<XMLHttpRequestEventTarget>;
option: UploadOptions;
percentage: string | number;
}) => void;
onFailure?: (param: {
responseText: XMLHttpRequest['responseText'];
option: UploadOptions;
files: FileItem[];
}) => void;
onUpdate?: (files: FileItem[]) => void;
onOversize?: (files: File[]) => void;
onChange?: (files: FileItem[]) => void;
beforeUpload?: (files: File[]) => Promise<File[] | boolean>;
beforeXhrUpload?: (xhr: XMLHttpRequest, options: any) => void;
beforeDelete?: (file: FileItem, files: FileItem[]) => boolean;
onFileItemClick?: (file: FileItem, index: number) => void;
}
export declare const Uploader: React.ForwardRefExoticComponent<Partial<UploaderProps> & {
children?: React.ReactNode | undefined;
} & React.RefAttributes<unknown>>;