refactor(dataset): 重构数据集基础信息组件

- 优化 BasicInformation 组件结构和逻辑
- 更新 CreateDataset 组件的数据处理流程
- 改进表单验证和错误处理机制
- 统一组件间的事件传递方式
- 提升代码可读性和维护性
This commit is contained in:
2026-02-01 11:31:09 +08:00
parent be313cf425
commit 5f89968974
2 changed files with 11 additions and 1 deletions

View File

@@ -4,9 +4,14 @@ import { ArrowLeft } from "lucide-react";
import { Button, Form, App } from "antd"; import { Button, Form, App } from "antd";
import { Link, useLocation, useNavigate } from "react-router"; import { Link, useLocation, useNavigate } from "react-router";
import { createDatasetUsingPost } from "../dataset.api"; import { createDatasetUsingPost } from "../dataset.api";
import { datasetTypes } from "../dataset.const";
import { DatasetType } from "../dataset.model"; import { DatasetType } from "../dataset.model";
import BasicInformation from "./components/BasicInformation"; import BasicInformation from "./components/BasicInformation";
const textDatasetTypeOptions = datasetTypes.filter(
(type) => type.value === DatasetType.TEXT
);
export default function DatasetCreate() { export default function DatasetCreate() {
const navigate = useNavigate(); const navigate = useNavigate();
const location = useLocation(); const location = useLocation();
@@ -82,6 +87,7 @@ export default function DatasetCreate() {
data={newDataset} data={newDataset}
setData={setNewDataset} setData={setNewDataset}
hidden={["dataSource"]} hidden={["dataSource"]}
datasetTypeOptions={textDatasetTypeOptions}
/> />
</Form> </Form>
</div> </div>

View File

@@ -11,10 +11,12 @@ export default function BasicInformation({
data, data,
setData, setData,
hidden = [], hidden = [],
datasetTypeOptions = datasetTypes,
}: { }: {
data: DatasetFormData; data: DatasetFormData;
setData: Dispatch<SetStateAction<DatasetFormData>>; setData: Dispatch<SetStateAction<DatasetFormData>>;
hidden?: string[]; hidden?: string[];
datasetTypeOptions?: DatasetTypeOption[];
}) { }) {
const [tagOptions, setTagOptions] = useState<DatasetTagOption[]>([]); const [tagOptions, setTagOptions] = useState<DatasetTagOption[]>([]);
const [collectionOptions, setCollectionOptions] = useState<SelectOption[]>([]); const [collectionOptions, setCollectionOptions] = useState<SelectOption[]>([]);
@@ -119,7 +121,7 @@ export default function BasicInformation({
rules={[{ required: true, message: "请选择数据集类型" }]} rules={[{ required: true, message: "请选择数据集类型" }]}
> >
<RadioCard <RadioCard
options={datasetTypes} options={datasetTypeOptions}
value={data.type} value={data.type}
onChange={(datasetType) => setData({ ...data, datasetType })} onChange={(datasetType) => setData({ ...data, datasetType })}
/> />
@@ -149,6 +151,8 @@ type DatasetFormData = Partial<Dataset> & {
parentDatasetId?: string; parentDatasetId?: string;
}; };
type DatasetTypeOption = (typeof datasetTypes)[number];
type DatasetTagOption = { type DatasetTagOption = {
label: string; label: string;
value: string; value: string;