diff --git a/src/app/(root)/gatewayinfo/page.tsx b/src/app/(root)/gatewayinfo/page.tsx index a808edc..1766cdd 100644 --- a/src/app/(root)/gatewayinfo/page.tsx +++ b/src/app/(root)/gatewayinfo/page.tsx @@ -120,6 +120,7 @@ export default function Gatewayinfo() { setLoading(true) setError('') const result = await getGatewayInfo() + console.log(result.data) setData(result.data) setFilteredData(result.data) // 初始化时设置filteredData @@ -198,7 +199,7 @@ export default function Gatewayinfo() {
-
+
diff --git a/src/components/data-table.tsx b/src/components/data-table.tsx new file mode 100644 index 0000000..3254bc6 --- /dev/null +++ b/src/components/data-table.tsx @@ -0,0 +1,38 @@ +import * as React from 'react' +import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from './ui/table' +import { ReactNode } from 'react' + +type Data = { + [key: string]: unknown +} + +type Column = { + label: string + props?: string + render?: (val: Data) => ReactNode +} + +export function DataTable(props: { data: Data[], columns: Column[] }) { + return ( +
+ + + {props.columns.map((item, index) => ( + {item.label} + ))} + + + + {props.data.map((row, index) => ( + + {props.columns.map((colume, index) => ( + + { colume.props ? String(row[colume.props]) : colume.render ? colume.render(row) : undefined } + + ))} + + ))} + +
+ ) +}