import ImageUploadItem from './Item'; import Sortable from '../../../sortable'; import { IImageUploadFileItem, IImageUploadListProps, IUploadFileItem, IImageUploadItemProps, } from '../../types'; import AbstractUploadList from '../AbstractList'; export default class ImageUploadList extends AbstractUploadList< IImageUploadFileItem, IImageUploadItemProps, IImageUploadListProps > { getRenderFileList() { return this.props.fileList; } onFileListSortChange = (list: Array) => { this.props.onSortChange(list); }; onItemPreview = (item: IUploadFileItem) => { this.props.onPreview(item, this.props.fileList); }; renderFileItem = (item: IUploadFileItem): React.ReactNode => { const { customUploadItem: CustomUploadItem } = this.props; const UploadItem = CustomUploadItem || ImageUploadItem; return ( ); }; render() { const { sortable, trigger } = this.props; const fileList = this.getRenderFileList(); const fileListContent = fileList.map(this.renderFileItem); const listContent = ( {fileListContent} {trigger} ); return
{listContent}
; } }