diff --git a/projects/app/src/pages/dataset/detail/components/Import/diffSource/APIDataset.tsx b/projects/app/src/pages/dataset/detail/components/Import/diffSource/APIDataset.tsx index e0cdff95ca54..7060385ed916 100644 --- a/projects/app/src/pages/dataset/detail/components/Import/diffSource/APIDataset.tsx +++ b/projects/app/src/pages/dataset/detail/components/Import/diffSource/APIDataset.tsx @@ -145,15 +145,20 @@ const CustomAPIFileInput = () => { [selectFiles] ); - const handleSelectAll = useCallback(() => { - const isAllSelected = fileList.length === selectFiles.length; + const isAllSelected = useMemo(() => { + const validSelectFiles = selectFiles.filter((file) => + fileList.some((apiFile) => apiFile.id === file.id) + ); + return fileList.length === validSelectFiles.length; + }, [fileList, selectFiles]); + const handleSelectAll = useCallback(() => { if (isAllSelected) { setSelectFiles([]); } else { setSelectFiles(fileList); } - }, [fileList, selectFiles]); + }, [fileList, isAllSelected]); return ( @@ -199,7 +204,7 @@ const CustomAPIFileInput = () => { {t('common:Select_all')}