From 52accfb44c5c75e7e885703419a916d6b45af5cb Mon Sep 17 00:00:00 2001 From: o0Shark0o <1191322051@qq.com> Date: Wed, 10 Dec 2025 15:05:14 +0800 Subject: [PATCH] =?UTF-8?q?fix(synthesis-task):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E9=80=89=E6=8B=A9=E5=88=97=E8=A1=A8=E4=B8=AD?= =?UTF-8?q?=E5=85=A8=E9=80=89=E6=8C=89=E9=92=AE=E6=97=A0=E6=B3=95=E5=8B=BE?= =?UTF-8?q?=E9=80=89=E6=89=80=E6=9C=89=E6=96=87=E4=BB=B6=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/DatasetFileTransfer.tsx | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/business/DatasetFileTransfer.tsx b/frontend/src/components/business/DatasetFileTransfer.tsx index d2e54c4..a33e855 100644 --- a/frontend/src/components/business/DatasetFileTransfer.tsx +++ b/frontend/src/components/business/DatasetFileTransfer.tsx @@ -245,11 +245,47 @@ const DatasetFileTransfer: React.FC = ({ rowSelection={{ type: "checkbox", selectedRowKeys: Object.keys(selectedFilesMap), - onSelect: toggleSelectFile, + + // 单选 + onSelect: (record: DatasetFile, selected: boolean) => { + toggleSelectFile(record); + }, + + // 全选 + onSelectAll: (selected, selectedRows: DatasetFile[]) => { + if (selected) { + // ✔ 全选 -> 将 files 列表全部加入 selectedFilesMap + const newMap: Record = {}; + selectedRows.forEach((f) => { + newMap[f.id] = f; + }); + onSelectedFilesChange(newMap); + } else { + // ✘ 取消全选 -> 清空 map + const newMap = { ...selectedFilesMap }; + Object.keys(newMap).forEach((id) => { + if (files.find((f) => f.id === id)) { + // 仅移除当前页对应文件 + delete newMap[id]; + } + }); + onSelectedFilesChange(newMap); + } + }, + getCheckboxProps: (record: DatasetFile) => ({ name: record.fileName, }), }} + + // rowSelection={{ + // type: "checkbox", + // selectedRowKeys: Object.keys(selectedFilesMap), + // onSelect: toggleSelectFile, + // getCheckboxProps: (record: DatasetFile) => ({ + // name: record.fileName, + // }), + // }} />