UNPKG

@alifd/next

Version:

A configurable component library for web built on React.

160 lines (159 loc) 7.22 kB
import React from 'react'; import PropTypes from 'prop-types'; import Base from './base'; import type { ObjectFile, UploadError, UploadFile, UploadProgressEvent, UploadProps, UploadResponse, UploadState } from './types'; declare class Upload extends Base<UploadProps, UploadState> { static displayName: string; static propTypes: { prefix: PropTypes.Validator<string>; action: PropTypes.Requireable<string>; value: PropTypes.Requireable<any[]>; defaultValue: PropTypes.Requireable<any[]>; shape: PropTypes.Requireable<string>; listType: PropTypes.Requireable<string>; list: PropTypes.Requireable<any>; name: PropTypes.Requireable<string>; data: PropTypes.Requireable<object>; formatter: PropTypes.Requireable<(...args: any[]) => any>; limit: PropTypes.Requireable<number>; timeout: PropTypes.Requireable<number>; dragable: PropTypes.Requireable<boolean>; closable: PropTypes.Requireable<boolean>; useDataURL: PropTypes.Requireable<boolean>; disabled: PropTypes.Requireable<boolean>; onSelect: PropTypes.Requireable<(...args: any[]) => any>; onProgress: PropTypes.Requireable<(...args: any[]) => any>; onChange: PropTypes.Requireable<(...args: any[]) => any>; onSuccess: PropTypes.Requireable<(...args: any[]) => any>; afterSelect: PropTypes.Requireable<(...args: any[]) => any>; onRemove: PropTypes.Requireable<(...args: any[]) => any>; onError: PropTypes.Requireable<(...args: any[]) => any>; beforeUpload: PropTypes.Requireable<(...args: any[]) => any>; onDrop: PropTypes.Requireable<(...args: any[]) => any>; className: PropTypes.Requireable<string>; style: PropTypes.Requireable<object>; children: PropTypes.Requireable<PropTypes.ReactNodeLike>; autoUpload: PropTypes.Requireable<boolean>; request: PropTypes.Requireable<(...args: any[]) => any>; progressProps: PropTypes.Requireable<object>; rtl: PropTypes.Requireable<boolean>; isPreview: PropTypes.Requireable<boolean>; renderPreview: PropTypes.Requireable<(...args: any[]) => any>; fileKeyName: PropTypes.Requireable<string>; fileNameRender: PropTypes.Requireable<(...args: any[]) => any>; actionRender: PropTypes.Requireable<(...args: any[]) => any>; previewOnFileName: PropTypes.Requireable<boolean>; reUpload?: React.Validator<boolean | null | undefined> | undefined; onCancel?: React.Validator<((file?: ObjectFile | undefined) => void) | null | undefined> | undefined; onImageError?: React.Validator<((obj: object, file: UploadFile) => void) | null | undefined> | undefined; onPreview?: React.Validator<((file: UploadFile, e?: React.MouseEvent<HTMLElement, MouseEvent> | undefined) => void) | null | undefined> | undefined; extraRender?: React.Validator<((file: ObjectFile) => void) | null | undefined> | undefined; itemRender?: React.Validator<((file: ObjectFile, action?: { remove: () => void; } | undefined) => void) | null | undefined> | undefined; showDownload?: React.Validator<boolean | null | undefined> | undefined; uploader?: React.Validator<{ removeFile: (file: ObjectFile) => void; abort: (file: ObjectFile) => void; replaceWithNewFile: (oldfile: UploadFile, newfile: UploadFile) => void; props: { accept?: string | undefined; fileKeyName?: string | undefined; }; } | null | undefined> | undefined; locale?: React.Validator<(Partial<{ card: { cancel: string; addPhoto: string; download: string; delete: string; }; drag: { text: string; hint: string; }; upload: { delete: string; }; image: { cancel: string; addPhoto: string; download: string; delete: string; }; }> & { momentLocale?: string | undefined; } & import("../locale/types").ComponentLocaleObject) | null | undefined> | undefined; id: React.Validator<string | null | undefined>; pure?: React.Validator<boolean | null | undefined> | undefined; device?: React.Validator<import("../config-provider/types").DeviceType | null | undefined> | undefined; errorBoundary?: React.Validator<import("../config-provider/types").ErrorBoundaryType | null | undefined> | undefined; warning?: React.Validator<boolean | null | undefined> | undefined; accept: PropTypes.Requireable<string>; headers: PropTypes.Requireable<object>; withCredentials: PropTypes.Requireable<boolean>; method: PropTypes.Requireable<string>; multiple: PropTypes.Requireable<boolean>; webkitdirectory: PropTypes.Requireable<boolean>; capture: PropTypes.Requireable<string>; onDragOver: PropTypes.Requireable<(...args: any[]) => any>; onDragLeave: PropTypes.Requireable<(...args: any[]) => any>; }; static defaultProps: { prefix: string; limit: number; autoUpload: boolean; closable: boolean; onSelect: () => void; onProgress: () => void; onChange: () => void; onSuccess: () => void; onRemove: () => void; onError: () => void; onDrop: () => void; beforeUpload: () => void; afterSelect: () => void; previewOnFileName: boolean; name: string; multiple: boolean; withCredentials: boolean; onDragOver: () => void; onDragLeave: () => void; onAbort: () => void; method: string; }; constructor(props: UploadProps); static getDerivedStateFromProps(nextProps: UploadProps, prevState: UploadState): { value: ObjectFile[]; } | null; onSelect: (files: Array<UploadFile>) => void; onDrop: (files: UploadFile[]) => void; /** * 对外暴露 API, 添加文件 */ selectFiles(files: File[]): void; uploadFiles(files: ObjectFile[]): void; /** * 对外暴露 api,控制文件上传 */ startUpload(): void; replaceFiles(old: ObjectFile, current: UploadFile): void; replaceWithNewFile: (old: ObjectFile, current: UploadFile) => ObjectFile; isUploading(): boolean; onProgress: (e: UploadProgressEvent, file: UploadFile) => void; onSuccess: (response: UploadResponse, file: UploadFile) => void; onError: (err: UploadError, response: UploadResponse | null, file?: ObjectFile) => void; /** * 删除文件 */ removeFile: (file: UploadFile) => void; updateUploadingState: () => void; /** * 取消上传 */ abort: (file: File) => void; onChange: (value: Array<ObjectFile>, file: ObjectFile | Array<ObjectFile>) => void; render(): React.JSX.Element | null; } declare const _default: typeof Upload; export default _default;