From 6b3d0d39761bda76c71d92608798e5f34f580239 Mon Sep 17 00:00:00 2001 From: meiyuanReact <127736402+meiyuanReact@users.noreply.github.com> Date: Wed, 28 May 2025 18:00:01 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8B=96=E6=8B=BD?= =?UTF-8?q?=E4=B8=8D=E7=AC=A6=E5=90=88=E8=A6=81=E6=B1=82=E7=9A=84=E6=96=87?= =?UTF-8?q?=E4=BB=B6=EF=BC=8C=E4=BB=8D=E7=84=B6=E8=B0=83=E7=94=A8beforeUpl?= =?UTF-8?q?oad?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/AjaxUploader.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/AjaxUploader.tsx b/src/AjaxUploader.tsx index 0de6c29..3461c00 100644 --- a/src/AjaxUploader.tsx +++ b/src/AjaxUploader.tsx @@ -85,7 +85,7 @@ class AjaxUploader extends Component { let acceptFiles = [...files].filter((file: RcFile) => attrAccept(file, accept)); if (multiple === false) { - acceptFiles = files.slice(0, 1); + acceptFiles = acceptFiles.slice(0, 1); } this.uploadFiles(acceptFiles); From e5ea51aee3512a6d9bedde7403c3804ca527745d Mon Sep 17 00:00:00 2001 From: meiyuanReact <127736402+meiyuanReact@users.noreply.github.com> Date: Fri, 27 Jun 2025 19:04:49 +0800 Subject: [PATCH 2/3] Update uploader.spec.tsx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 补充UT --- tests/uploader.spec.tsx | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/uploader.spec.tsx b/tests/uploader.spec.tsx index 44a4771..6357bbd 100644 --- a/tests/uploader.spec.tsx +++ b/tests/uploader.spec.tsx @@ -307,7 +307,32 @@ describe('uploader', () => { done(); }, 100); }); + + it('drag unaccepted type files with multiple false to upload will not trigger onStart ', done => { + const { container } = render(); + + const input = container.querySelector('input')!; + const files = [ + { + name: 'success.jpg', + toString() { + return this.name; + }, + }, + ]; + (files as any).item = (i: number) => files[i]; + fireEvent.drop(input, { + dataTransfer: { files }, + }); + const mockStart = jest.fn(); + handlers.onStart = mockStart; + setTimeout(() => { + expect(mockStart.mock.calls.length).toBe(0); + done(); + }, 100); + }); + it('drag files with multiple false', done => { const { container } = render(); const input = container.querySelector('input')!; From 2c033b0da83d8d5b46318d25313d432e3cea6424 Mon Sep 17 00:00:00 2001 From: afc163 Date: Fri, 27 Jun 2025 23:20:03 +0800 Subject: [PATCH 3/3] Update tests/uploader.spec.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- tests/uploader.spec.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/uploader.spec.tsx b/tests/uploader.spec.tsx index 6357bbd..bfd8c26 100644 --- a/tests/uploader.spec.tsx +++ b/tests/uploader.spec.tsx @@ -322,11 +322,11 @@ describe('uploader', () => { ]; (files as any).item = (i: number) => files[i]; + const mockStart = jest.fn(); + handlers.onStart = mockStart; fireEvent.drop(input, { dataTransfer: { files }, }); - const mockStart = jest.fn(); - handlers.onStart = mockStart; setTimeout(() => { expect(mockStart.mock.calls.length).toBe(0); done();