UNPKG

chowa

Version:

UI component library based on React

94 lines (93 loc) 3.44 kB
/** * @license chowa v1.1.3 * * Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn). * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import * as React from 'react'; import * as PropTypes from 'prop-types'; import { StorageFile, UploadFile } from './tool'; export interface UploadProps { className?: string; style?: React.CSSProperties; mode?: 'select' | 'drag'; accept?: string; exts?: string[]; size?: number; action: string; multiple?: boolean; capture?: boolean; disabled?: boolean; directory?: boolean; headers?: object; name?: string; data?: object; defaultValue?: StorageFile[]; value?: StorageFile[]; onChange?: (storageFiles: StorageFile[]) => void; onBeforeUpload?: (file: File) => Promise<any> | boolean; onProgress?: (file: File, e: ProgressEvent) => void; onSuccess?: (file: File, e: XMLHttpRequest) => void; onError?: (file: File, e: ProgressEvent) => void; onRemove?: (uploadFile: UploadFile) => void; onExtError?: (file: File) => void; onSizeError?: (file: File) => void; formatter?: (uploadFile: UploadFile) => React.ReactNode; showUploadList?: boolean; } export interface UploadState { uploadFiles: UploadFile[]; } declare class Upload extends React.PureComponent<UploadProps, UploadState> { static propTypes: { className: PropTypes.Requireable<string>; style: PropTypes.Requireable<object>; mode: PropTypes.Requireable<string>; accept: PropTypes.Validator<string>; exts: PropTypes.Requireable<any[]>; size: PropTypes.Requireable<number>; action: PropTypes.Requireable<string>; capture: PropTypes.Requireable<boolean>; multiple: PropTypes.Requireable<boolean>; disabled: PropTypes.Requireable<boolean>; directory: PropTypes.Requireable<boolean>; headers: PropTypes.Requireable<object>; name: PropTypes.Requireable<string>; data: PropTypes.Requireable<object>; defaultValue: PropTypes.Requireable<any[]>; value: PropTypes.Requireable<any[]>; onChange: PropTypes.Requireable<(...args: any[]) => any>; onBeforeUpload: PropTypes.Requireable<(...args: any[]) => any>; onProgress: PropTypes.Requireable<(...args: any[]) => any>; onSuccess: PropTypes.Requireable<(...args: any[]) => any>; onRemove: PropTypes.Requireable<(...args: any[]) => any>; onError: PropTypes.Requireable<(...args: any[]) => any>; onExtError: PropTypes.Requireable<(...args: any[]) => any>; onSizeError: PropTypes.Requireable<(...args: any[]) => any>; formatter: PropTypes.Requireable<(...args: any[]) => any>; showUploadList: PropTypes.Requireable<boolean>; }; static defaultProps: { name: string; mode: string; capture: boolean; multiple: boolean; accept: string; directory: boolean; showUploadList: boolean; }; private InputEle; private request; constructor(props: UploadProps); componentDidUpdate(preProps: UploadProps): void; componentWillUnmount(): void; triggerChange(): void; private chooseFile; private onInputChangeHandler; private appendUploadFile; private removeFile; render(): JSX.Element; } export default Upload;