import React from 'react'; import { FieldProps } from './FieldProps'; import { AbstractField } from './AbstractField'; import { RcFile, UploadChangeParam, UploadProps } from 'antd/lib/upload'; import { UploadFile } from 'antd/lib/upload/interface'; import { AttachmentEntity, AttachmentService } from 'matrix-ui-service'; import { FormItemProps } from 'antd/lib/form'; export declare class UploadField extends AbstractField { static defaultProps: { valueType: string; maxSizeMB: number; maxNumber: number; }; getField(): JSX.Element; get defaultFormItemProps(): FormItemProps; } export interface UploadWrapProps extends UploadProps { value?: AttachmentEntity | AttachmentEntity[] | string; /** * array 默认模式,内部为[{id:xxx,name:xxx}] * string 逗号分隔的id字符串,通过查询获得附件详情 * json 加入name信息 */ valueType: 'array' | 'string' | 'json'; /** * 当为1时,返回值传入值都是UploadResponse */ maxNumber: number; required?: boolean; attachmentService: AttachmentService; onValueChange?: (info: UploadChangeParam) => void; maxSizeMB: number; } interface UploadWrapState { fileList?: Array; previewFile?: UploadFile; } export declare class UploadWrap extends React.Component { static defaultProps: { valueType: string; maxSizeMB: number; maxNumber: number; }; /** * componentDidUpdate在mount时不会执行 */ componentDidMount(): void; componentDidUpdate(prevProps: Readonly): void; setFileList(): Promise; handleChange(info: UploadChangeParam): void; handleRemove(file: UploadFile): boolean; beforeUpload(file: RcFile, fileList: RcFile[]): boolean; handlePreview: (previewFile: UploadFile) => void; render(): JSX.Element; } export {};