From 9436ece6e38cbd73f605f6285316a405c9ecda05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?kiner-tang=28=E6=96=87=E8=BE=89=29?= <1127031143@qq.com> Date: Mon, 7 Aug 2023 18:04:44 +0800 Subject: [PATCH] feat: upload support rootClassName (#44060) * feat: upload support rootClassName * feat: optimize code * feat: optimize code --- components/upload/Upload.tsx | 18 +++++++++++++----- components/upload/__tests__/demo.test.ts | 2 +- components/upload/interface.ts | 1 + 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/components/upload/Upload.tsx b/components/upload/Upload.tsx index c87a353cebb8..3d7f408bb02e 100644 --- a/components/upload/Upload.tsx +++ b/components/upload/Upload.tsx @@ -62,6 +62,7 @@ const InternalUpload: React.ForwardRefRenderFunction = ( action = '', accept = '', supportServerRender = true, + rootClassName, } = props; // ===================== Disabled ===================== @@ -405,11 +406,18 @@ const InternalUpload: React.ForwardRefRenderFunction = ( ); }; - const wrapperCls = classNames(`${prefixCls}-wrapper`, className, hashId, ctxUpload?.className, { - [`${prefixCls}-rtl`]: direction === 'rtl', - [`${prefixCls}-picture-card-wrapper`]: listType === 'picture-card', - [`${prefixCls}-picture-circle-wrapper`]: listType === 'picture-circle', - }); + const wrapperCls = classNames( + `${prefixCls}-wrapper`, + className, + rootClassName, + hashId, + ctxUpload?.className, + { + [`${prefixCls}-rtl`]: direction === 'rtl', + [`${prefixCls}-picture-card-wrapper`]: listType === 'picture-card', + [`${prefixCls}-picture-circle-wrapper`]: listType === 'picture-circle', + }, + ); const mergedStyle: React.CSSProperties = { ...ctxUpload?.style, ...style }; diff --git a/components/upload/__tests__/demo.test.ts b/components/upload/__tests__/demo.test.ts index dc181dc91409..ec1f577a6bc5 100644 --- a/components/upload/__tests__/demo.test.ts +++ b/components/upload/__tests__/demo.test.ts @@ -1,3 +1,3 @@ import demoTest from '../../../tests/shared/demoTest'; -demoTest('upload', { skip: ['crop-image.tsx'], testRootProps: false }); +demoTest('upload', { skip: ['crop-image.tsx'] }); diff --git a/components/upload/interface.ts b/components/upload/interface.ts index 0639346be407..7bb671165656 100755 --- a/components/upload/interface.ts +++ b/components/upload/interface.ts @@ -109,6 +109,7 @@ export interface UploadProps extends Pick { onDrop?: (event: React.DragEvent) => void; listType?: UploadListType; className?: string; + rootClassName?: string; onPreview?: (file: UploadFile) => void; onDownload?: (file: UploadFile) => void; onRemove?: (file: UploadFile) => void | boolean | Promise;