diff --git a/src/pages/TestDataGenerator/index.tsx b/src/pages/TestDataGenerator/index.tsx index 834267d..271b051 100644 --- a/src/pages/TestDataGenerator/index.tsx +++ b/src/pages/TestDataGenerator/index.tsx @@ -9,6 +9,13 @@ import { cn } from '@/lib/utils'; import { useGenerator } from './hooks/useGenerator'; import { getGeneratorById } from '@/lib/generators'; import type { FieldConfig, GenerateResult } from '@/types/testDataGenerator'; +import { + Dialog, + DialogContent, + DialogHeader, + DialogTitle, + DialogDescription, +} from '@/components/ui/dialog'; // 生成唯一 ID 的辅助函数 function generateId(): string { @@ -33,6 +40,7 @@ export default function TestDataGeneratorPage() { // 字段配置 const [fields, setFields] = useState([]); const [selectedIndex, setSelectedIndex] = useState(null); + const [isEditorOpen, setIsEditorOpen] = useState(false); // 生成选项 const [count, setCount] = useState(100); @@ -176,6 +184,12 @@ export default function TestDataGeneratorPage() { // 获取选中的字段(-1 或 null 表示未选中) const selectedField = selectedIndex !== null && selectedIndex >= 0 ? fields[selectedIndex] : null; + // 打开字段编辑器 + const handleOpenEditor = useCallback((index: number) => { + setSelectedIndex(index); + setIsEditorOpen(true); + }, []); + return (
@@ -213,36 +227,16 @@ export default function TestDataGeneratorPage() { {/* 字段配置标签页 */} {activeTab === 'fields' && ( -
- {/* 字段列表 */} -
- -
- - {/* 字段编辑器 */} -
- {selectedField ? ( - handleUpdateField(selectedIndex!, updatedField)} - /> - ) : ( -
- -

- {t('testDataGenerator_selectFieldToEdit')} -

-
- )} -
+
+
)} @@ -312,6 +306,22 @@ export default function TestDataGeneratorPage() {
+ + {/* 字段编辑弹窗 */} + + + + {t('testDataGenerator_fieldConfig')} + {t('testDataGenerator_selectFieldToEdit')} + + {selectedField && selectedIndex !== null && ( + handleUpdateField(selectedIndex, updatedField)} + /> + )} + + ); }