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 }));
|
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
|
||||||
|
|||||||
Reference in New Issue
Block a user