From 7509b4e398f9acf860422f75460b9819cb3f99b5 Mon Sep 17 00:00:00 2001 From: huxiyang <1872591453@qq.com> Date: Thu, 22 Aug 2024 15:53:44 +0800 Subject: [PATCH 1/5] chore(uploader): unit test --- src/packages/uploader/__tests__/uploader.spec.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/uploader/__tests__/uploader.spec.tsx b/src/packages/uploader/__tests__/uploader.spec.tsx index 0b9847dcaf..589c0ed84d 100644 --- a/src/packages/uploader/__tests__/uploader.spec.tsx +++ b/src/packages/uploader/__tests__/uploader.spec.tsx @@ -90,7 +90,7 @@ test('should render base uploader other props', () => { fireEvent.click(container.querySelectorAll('.close')[0]) expect(onDelete).toBeCalled() - const toast2 = container.querySelector('.nut-uploader-preview-img-c') + const toast2 = container.querySelector('.nut-uploader-preview-img-c .nut-img') expect(toast2).toBeTruthy() fireEvent.click(container.querySelectorAll('.nut-uploader-preview-img-c')[0]) expect(fileItemClick).toBeCalled() From 8683c42c1038d0d8e5cfcd9320d09204768bf2be Mon Sep 17 00:00:00 2001 From: huxiyang <1872591453@qq.com> Date: Thu, 22 Aug 2024 17:38:20 +0800 Subject: [PATCH 2/5] fix(uploader): beforeupload --- src/packages/uploader/uploader.tsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/packages/uploader/uploader.tsx b/src/packages/uploader/uploader.tsx index fd885cd330..3300d3cf74 100644 --- a/src/packages/uploader/uploader.tsx +++ b/src/packages/uploader/uploader.tsx @@ -105,6 +105,7 @@ const InternalUploader: ForwardRefRenderFunction< > = (props, ref) => { const { locale } = useConfig() const fileListRef = useRef([]) + const fileInputRef = useRef(null) const { children, uploadIcon, @@ -350,9 +351,8 @@ const InternalUploader: ForwardRefRenderFunction< } const fileChange = (event: React.ChangeEvent) => { - if (disabled) { - return - } + if (disabled) return + const $el = event.target const { files } = $el @@ -360,6 +360,7 @@ const InternalUploader: ForwardRefRenderFunction< beforeUpload(new Array().slice.call(files)).then( (f: Array | boolean) => { const _files: File[] = filterFiles(new Array().slice.call(f)) + if (!_files) fileInputRef.current?.reset() readFile(_files) } ) @@ -388,6 +389,7 @@ const InternalUploader: ForwardRefRenderFunction< )} {Number(maxCount) > fileList.length && ( Date: Thu, 22 Aug 2024 17:50:41 +0800 Subject: [PATCH 3/5] chore: simplify --- src/packages/uploader/demos/h5/demo1.tsx | 9 +++++++++ src/packages/uploader/uploader.tsx | 5 +---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/packages/uploader/demos/h5/demo1.tsx b/src/packages/uploader/demos/h5/demo1.tsx index fc41fa4fd5..78298e2c95 100644 --- a/src/packages/uploader/demos/h5/demo1.tsx +++ b/src/packages/uploader/demos/h5/demo1.tsx @@ -7,10 +7,19 @@ const Demo1 = () => { const onStart = () => { console.log('start触发') } + const beforeUpload = async (files: File[]) => { + console.log('bbb') + const allowedTypes = ['image/png'] + const filteredFiles = Array.from(files).filter((file) => + allowedTypes.includes(file.type) + ) + return filteredFiles + } return ( <> = (props, ref) => { const { locale } = useConfig() const fileListRef = useRef([]) - const fileInputRef = useRef(null) const { children, uploadIcon, @@ -360,7 +359,7 @@ const InternalUploader: ForwardRefRenderFunction< beforeUpload(new Array().slice.call(files)).then( (f: Array | boolean) => { const _files: File[] = filterFiles(new Array().slice.call(f)) - if (!_files) fileInputRef.current?.reset() + if (!_files) $el.value = '' readFile(_files) } ) @@ -389,7 +388,6 @@ const InternalUploader: ForwardRefRenderFunction< )} {Number(maxCount) > fileList.length && ( Date: Thu, 22 Aug 2024 20:35:23 +0800 Subject: [PATCH 4/5] chore: remove --- src/packages/uploader/demos/h5/demo1.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/packages/uploader/demos/h5/demo1.tsx b/src/packages/uploader/demos/h5/demo1.tsx index 78298e2c95..ab55af17f5 100644 --- a/src/packages/uploader/demos/h5/demo1.tsx +++ b/src/packages/uploader/demos/h5/demo1.tsx @@ -8,7 +8,6 @@ const Demo1 = () => { console.log('start触发') } const beforeUpload = async (files: File[]) => { - console.log('bbb') const allowedTypes = ['image/png'] const filteredFiles = Array.from(files).filter((file) => allowedTypes.includes(file.type) From 5d60825e5baa08b77d89ac1b83a998f22c7a96ef Mon Sep 17 00:00:00 2001 From: huxiyang <1872591453@qq.com> Date: Thu, 22 Aug 2024 20:38:36 +0800 Subject: [PATCH 5/5] chore: remove --- src/packages/uploader/uploader.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/packages/uploader/uploader.tsx b/src/packages/uploader/uploader.tsx index 458e0ea789..a5caa2184c 100644 --- a/src/packages/uploader/uploader.tsx +++ b/src/packages/uploader/uploader.tsx @@ -359,7 +359,7 @@ const InternalUploader: ForwardRefRenderFunction< beforeUpload(new Array().slice.call(files)).then( (f: Array | boolean) => { const _files: File[] = filterFiles(new Array().slice.call(f)) - if (!_files) $el.value = '' + if (!_files.length) $el.value = '' readFile(_files) } )