refactor: card list resize container

This commit is contained in:
jialin
2025-12-11 13:33:41 +08:00
parent 7fdabd90a5
commit 3328828da6
8 changed files with 143 additions and 182 deletions
+35
View File
@@ -0,0 +1,35 @@
import { Col, Row } from 'antd';
import ResizeObserver from 'rc-resize-observer';
import useResponsive from './use-responsive';
interface ResizeObserverContainerProps {
dataList: any[];
renderItem: (data: any) => React.ReactNode;
defaultSpan?: number;
resizable?: boolean;
}
const ResizeContainer: React.FC<ResizeObserverContainerProps> = ({
defaultSpan = 8,
dataList,
renderItem,
resizable = true
}) => {
const { span, handleResize } = useResponsive({ defaultSpan });
return (
<ResizeObserver onResize={handleResize} disabled={!resizable}>
<Row gutter={[16, 16]}>
{dataList.map((item: any, index) => {
return (
<Col span={span} key={item.id || index}>
{renderItem(item)}
</Col>
);
})}
</Row>
</ResizeObserver>
);
};
export default ResizeContainer;