import SingleImage from '@/components/auto-image/single-image'; import { Col, Row } from 'antd'; import _ from 'lodash'; import React, { useCallback, useMemo } from 'react'; import '../style/thumb-img.less'; const ThumbImg: React.FC<{ dataList: any[]; editable?: boolean; onDelete?: (uid: number) => void; loading?: boolean; style?: React.CSSProperties; responseable?: boolean; gutter?: number | number[] | object; justify?: any; autoSize?: boolean; autoBgColor?: boolean; }> = ({ dataList, editable, responseable, gutter, onDelete, autoBgColor, autoSize, style }) => { const handleOnDelete = useCallback( (uid: number) => { onDelete?.(uid); }, [onDelete] ); const responseableStyle: Record = useMemo(() => { if (!responseable) return {}; if (dataList.length === 1) { return { 0: { justifyContent: 'center', alignItems: 'center' } }; } if (dataList.length === 2) { return { 0: { justifyContent: 'flex-end', alignItems: 'center' }, 1: { justifyContent: 'flex-start', alignItems: 'center' } }; } if (dataList.length === 3) { return { 0: { justifyContent: 'flex-end', alignItems: 'flex-end' }, 1: { justifyContent: 'flex-start', alignItems: 'flex-end' }, 2: { justifyContent: 'flex-end', alignItems: 'flex-start' } }; } return { 0: { justifyContent: 'flex-end', alignItems: 'flex-end' }, 1: { justifyContent: 'flex-start', alignItems: 'flex-end' }, 2: { justifyContent: 'flex-end', alignItems: 'flex-start' }, 3: { justifyContent: 'flex-start', alignItems: 'flex-start' } }; }, [dataList, responseable]); return ( <> {dataList?.length ? (
{responseable ? ( <> 2 ? '50%' : '100%', flex: 'none', width: '100%', justifyContent: dataList.length === 1 ? 'center' : 'flex-start' }} > {_.map(_.slice(dataList, 0, 2), (item: any, index: number) => { return ( ); })} {dataList.length > 2 && ( {_.map(_.slice(dataList, 2), (item: any, index: number) => { console.log('index=======', index); return ( ); })} )} ) : ( <> {_.map(dataList, (item: any) => { return ( ); })} )}
) : null} ); }; export default React.memo(ThumbImg);