import React from 'react'; import { Skeleton, Card } from 'antd'; import './index.less'; interface SkeletonLoadingProps { type?: 'page' | 'table' | 'card' | 'form'; rows?: number; } const SkeletonLoading: React.FC = ({ type = 'page', rows = 3 }) => { const renderPageSkeleton = () => (
); const renderTableSkeleton = () => (
{Array.from({ length: 5 }).map((_, index) => ( ))}
{Array.from({ length: rows }).map((_, index) => (
{Array.from({ length: 5 }).map((_, cellIndex) => ( ))}
))}
); const renderCardSkeleton = () => (
{Array.from({ length: rows }).map((_, index) => ( ))}
); const renderFormSkeleton = () => (
{Array.from({ length: rows }).map((_, index) => (
))}
); switch (type) { case 'table': return renderTableSkeleton(); case 'card': return renderCardSkeleton(); case 'form': return renderFormSkeleton(); case 'page': default: return renderPageSkeleton(); } }; export default SkeletonLoading;