UNPKG

@nutui/nutui-react

Version:

京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序

83 lines (82 loc) 2.74 kB
import { default as React } from 'react'; import { default as Taro } from '@tarojs/taro'; import { UploadOptions } from './upload'; import { BasicComponent } from '../../utils/typings'; import { FileItem } from './file-item'; interface sizeType { /** 原图 */ original: string; /** compressed */ compressed: string; } interface sourceType { /** 从相册选图 */ album: string; /** 使用相机 */ camera: string; } interface mediaType { /** 只能拍摄图片或从相册选择图片 */ image: string; /** 只能拍摄视频或从相册选择视频 */ video: string; } export interface UploaderProps extends BasicComponent { url: string; maxCount: string | number; sizeType: (keyof sizeType)[]; sourceType: (keyof sourceType)[]; mediaType: (keyof mediaType)[]; camera: string; maxFileSize: number; defaultValue?: FileItem[]; value?: FileItem[]; previewType: 'picture' | 'list'; fit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'; uploadIcon?: 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; preview: boolean; deletable: boolean; className: string; previewUrl?: string; maxDuration: number; 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: number | string; }) => void; onFailure?: (param: { responseText: XMLHttpRequest['responseText']; option: UploadOptions; files: FileItem[]; }) => void; onUpdate?: (files: FileItem[]) => void; onOversize?: (files: Taro.chooseImage.ImageFile[] | Taro.chooseMedia.ChooseMedia[] | any) => void; onChange?: (files: FileItem[]) => void; beforeUpload?: (files: Taro.chooseImage.ImageFile[] | Taro.chooseMedia.ChooseMedia[] | any) => 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>>; export {};