import { ReactNode } from 'react' export interface Column { key: string title: string width?: string // eslint-disable-next-line @typescript-eslint/no-explicit-any render?: (record: any, index: number) => ReactNode } interface TableProps { columns: Column[] // eslint-disable-next-line @typescript-eslint/no-explicit-any data: any[] // eslint-disable-next-line @typescript-eslint/no-explicit-any rowKey: (record: any) => string } export default function Table({ columns, data, rowKey }: TableProps) { return (
{columns.map((col) => ( ))} {data.map((record, index) => ( {columns.map((col) => ( ))} ))} {data.length === 0 && ( )}
{col.title}
{col.render ? col.render(record, index) : String(record[col.key] ?? '')}
暂无数据
) }