/** * 通用导入组件 */ import React from 'react'; import { UploadChangeParam } from 'antd/es/upload'; import create from './createImporter'; export * from './createImporter'; export interface Showable { show(): void; } export interface ProgressEvent { success?: boolean; progress: number; error?: Error; result: { message?: string; taskResult?: any; }; } export interface ImportProps { title?: string; accept?: string; data?: object | ((file: File) => object); name?: string; action?: string; beforeUpload?: (file: File) => Promise; extractUploadError?: (file: UploadChangeParam['file']) => Error; onStart: (response: T) => Promise; onProgress: (task: string) => Promise; onSuccess?: () => void; footer?: React.ReactNode; } declare enum ImportState { INIT = 0, UPLOADING = 1, UPLOADED = 2, UPLOAD_FAILED = 3, IMPORTING = 4, IMPORTED = 5, IMPORT_FAILED = 6 } interface State { visible: boolean; status: ImportState; progress: number; message?: string; error?: Error; action: string; } export default class Import extends React.Component, State> implements Showable { static defaultProps: { title: string; }; static create: typeof create; state: State; private uploadResponse; private taskId; render(): JSX.Element; show(): void; private handleClick; private handleClose; private handleUploadChange; private handleStartImport; private handleCheckProgress; private handleBeforeUpload; private handleCancel; private reset; }