You've already forked DataMate
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:
@@ -324,6 +324,14 @@ export default function ImportConfiguration({
|
||||
setImportConfig((prev) => ({ ...prev, splitByLine: false }));
|
||||
}, [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
|
||||
useEffect(() => {
|
||||
if (open && importConfig.source === DataSource.COLLECTION) {
|
||||
@@ -447,7 +455,7 @@ export default function ImportConfiguration({
|
||||
name="splitByLine"
|
||||
valuePropName="checked"
|
||||
>
|
||||
<Switch disabled={hasNonTextFile} />
|
||||
<Switch disabled={hasNonTextFile || importConfig.hasArchive} />
|
||||
</Form.Item>
|
||||
)}
|
||||
<Form.Item
|
||||
|
||||
Reference in New Issue
Block a user