fix: 修复 hasArchive 和 splitByLine 同时存在的问题

问题:hasArchive 默认为 true,而 splitByLine 可以与其同时开启,
      导致压缩包被错误地按行分割,产生逻辑矛盾。

修复:
1. 当 hasArchive=true 时,禁用 splitByLine switch
2. 添加 useEffect,当 hasArchive 变为 true 时自动关闭 splitByLine

修改文件:frontend/src/pages/DataManagement/Detail/components/ImportConfiguration.tsx
This commit is contained in:
2026-02-04 15:43:53 +08:00
parent 3af1daf8b6
commit 50f2da5503

View File

@@ -324,6 +324,14 @@ export default function ImportConfiguration({
setImportConfig((prev) => ({ ...prev, splitByLine: false })); setImportConfig((prev) => ({ ...prev, splitByLine: false }));
}, [form, hasNonTextFile, importConfig.files, importConfig.splitByLine]); }, [form, hasNonTextFile, importConfig.files, importConfig.splitByLine]);
// 当 hasArchive 变为 true 时,自动关闭 splitByLine
useEffect(() => {
if (importConfig.hasArchive && importConfig.splitByLine) {
form.setFieldsValue({ splitByLine: false });
setImportConfig((prev) => ({ ...prev, splitByLine: false }));
}
}, [form, importConfig.hasArchive, importConfig.splitByLine]);
// Separate effect for fetching collection tasks when source changes // Separate effect for fetching collection tasks when source changes
useEffect(() => { useEffect(() => {
if (open && importConfig.source === DataSource.COLLECTION) { if (open && importConfig.source === DataSource.COLLECTION) {
@@ -447,7 +455,7 @@ export default function ImportConfiguration({
name="splitByLine" name="splitByLine"
valuePropName="checked" valuePropName="checked"
> >
<Switch disabled={hasNonTextFile} /> <Switch disabled={hasNonTextFile || importConfig.hasArchive} />
</Form.Item> </Form.Item>
)} )}
<Form.Item <Form.Item