File tree Expand file tree Collapse file tree 1 file changed +37
-1
lines changed
frontend/src/components/business Expand file tree Collapse file tree 1 file changed +37
-1
lines changed Original file line number Diff line number Diff line change @@ -245,11 +245,47 @@ const DatasetFileTransfer: React.FC<DatasetFileTransferProps> = ({
245245 rowSelection = { {
246246 type : "checkbox" ,
247247 selectedRowKeys : Object . keys ( selectedFilesMap ) ,
248- onSelect : toggleSelectFile ,
248+
249+ // 单选
250+ onSelect : ( record : DatasetFile , selected : boolean ) => {
251+ toggleSelectFile ( record ) ;
252+ } ,
253+
254+ // 全选
255+ onSelectAll : ( selected , selectedRows : DatasetFile [ ] ) => {
256+ if ( selected ) {
257+ // ✔ 全选 -> 将 files 列表全部加入 selectedFilesMap
258+ const newMap : Record < string , DatasetFile > = { } ;
259+ selectedRows . forEach ( ( f ) => {
260+ newMap [ f . id ] = f ;
261+ } ) ;
262+ onSelectedFilesChange ( newMap ) ;
263+ } else {
264+ // ✘ 取消全选 -> 清空 map
265+ const newMap = { ...selectedFilesMap } ;
266+ Object . keys ( newMap ) . forEach ( ( id ) => {
267+ if ( files . find ( ( f ) => f . id === id ) ) {
268+ // 仅移除当前页对应文件
269+ delete newMap [ id ] ;
270+ }
271+ } ) ;
272+ onSelectedFilesChange ( newMap ) ;
273+ }
274+ } ,
275+
249276 getCheckboxProps : ( record : DatasetFile ) => ( {
250277 name : record . fileName ,
251278 } ) ,
252279 } }
280+
281+ // rowSelection={{
282+ // type: "checkbox",
283+ // selectedRowKeys: Object.keys(selectedFilesMap),
284+ // onSelect: toggleSelectFile,
285+ // getCheckboxProps: (record: DatasetFile) => ({
286+ // name: record.fileName,
287+ // }),
288+ // }}
253289 />
254290 </ div >
255291 </ div >
You can’t perform that action at this time.
0 commit comments