From 59e7c3b1fbd58a8ae33182251d33137b16c1cc69 Mon Sep 17 00:00:00 2001 From: asp_ly Date: Sat, 28 Dec 2024 19:09:10 +0800 Subject: [PATCH] 1 --- frontend/scripts/generate-page.ts | 59 ++++++++++++++++++++----------- 1 file changed, 39 insertions(+), 20 deletions(-) diff --git a/frontend/scripts/generate-page.ts b/frontend/scripts/generate-page.ts index 2f6cf28b..6e0fc818 100644 --- a/frontend/scripts/generate-page.ts +++ b/frontend/scripts/generate-page.ts @@ -308,11 +308,7 @@ function generateListPage(options: GenerateOptions): string { return `import React, { useState, useEffect } from 'react'; import { PageContainer } from '@/components/ui/page-container'; -import { - PlusOutlined, - EditOutlined, - DeleteOutlined, -} from '@ant-design/icons'; +import { Plus, Pencil, Trash2, Loader2 } from 'lucide-react'; import { Table, TableHeader, @@ -509,7 +505,7 @@ const ${typeName}List: React.FC = () => { size="sm" onClick={() => handleEdit(row.original)} > - + 编辑 @@ -519,7 +515,7 @@ const ${typeName}List: React.FC = () => { size="sm" className="text-destructive" > - + 删除 @@ -551,7 +547,7 @@ const ${typeName}List: React.FC = () => {

${description}

@@ -607,19 +603,42 @@ const ${typeName}List: React.FC = () => { - {list.map((item) => ( - - {columns.map((column) => ( - - {column.cell - ? column.cell({row: {original: item}}) - : item[column.accessorKey!]} - - ))} + {loading ? ( + + +
+ + 加载中... +
+
- ))} + ) : list.length === 0 ? ( + + + 暂无数据 + + + ) : ( + list.map((item) => ( + + {columns.map((column) => ( + + {column.cell + ? column.cell({row: {original: item}}) + : item[column.accessorKey!]} + + ))} + + )) + )}