UNPKG

zent

Version:

一套前端设计语言和基于React的实现

26 lines (25 loc) 1.7 kB
import * as React from 'react'; import { II18nLocaleUpload } from '../../i18n'; import { IAbstractMultiUploadProps, IUploadChangeDetail, IUploadFileItem, IUploadItemProps } from '../types'; import AbstractUpload from './AbstractUpload'; export interface IAbstractMultiUploadState<UPLOAD_ITEM extends IUploadFileItem> { fileList: Array<UPLOAD_ITEM>; } declare abstract class AbstractMultiUpload<UPLOAD_ITEM extends IUploadFileItem, ON_UPLOAD_SUCCESS_RETURN, UPLOAD_ITEM_COMP_PROPS extends IUploadItemProps<UPLOAD_ITEM>, P extends IAbstractMultiUploadProps<UPLOAD_ITEM, ON_UPLOAD_SUCCESS_RETURN, UPLOAD_ITEM_COMP_PROPS>> extends AbstractUpload<UPLOAD_ITEM, ON_UPLOAD_SUCCESS_RETURN, UPLOAD_ITEM_COMP_PROPS, P, IAbstractMultiUploadState<UPLOAD_ITEM>> { constructor(props: P); static getDerivedStateFromProps(nextProps: IAbstractMultiUploadProps<IUploadFileItem, any, IUploadItemProps<IUploadFileItem>>): { fileList: IUploadFileItem[]; }; get isControlled(): boolean; get fileList(): UPLOAD_ITEM[]; get remainAmount(): number; getUploadItem(id: string): UPLOAD_ITEM | null; updateFileList: (list: UPLOAD_ITEM[], detail?: IUploadChangeDetail<UPLOAD_ITEM>, cb?: () => void) => void; deleteUploadItem: (deleteItem: UPLOAD_ITEM) => void; retryUploadItem: (retryItem: UPLOAD_ITEM) => void; updateUploadItem: (updateItemId: string, overrideProps: Partial<UPLOAD_ITEM>) => void; onTriggerUploadFile: (file: File) => Promise<void>; protected abstract createNewUploadFileItem(file: File): UPLOAD_ITEM | Promise<UPLOAD_ITEM>; protected abstract renderUploadList(i18n: II18nLocaleUpload): React.ReactNode; } export default AbstractMultiUpload;