You've already forked DataMate
refactor(dataset): 重构数据集基础信息组件
- 优化 BasicInformation 组件结构和逻辑 - 更新 CreateDataset 组件的数据处理流程 - 改进表单验证和错误处理机制 - 统一组件间的事件传递方式 - 提升代码可读性和维护性
This commit is contained in:
@@ -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>
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user