diff --git a/components/modal/__tests__/type.test.tsx b/components/modal/__tests__/type.test.tsx
index 661923efae..18fe7447dd 100644
--- a/components/modal/__tests__/type.test.tsx
+++ b/components/modal/__tests__/type.test.tsx
@@ -4,8 +4,28 @@ import Modal from '..';
describe('Modal.typescript', () => {
it('Modal.okType', () => {
- const form = ;
+ const modal = ;
- expect(form).toBeTruthy();
+ expect(modal).toBeTruthy();
+ });
+
+ it('Modal.styles', () => {
+ const style: React.CSSProperties = {
+ position: 'absolute',
+ };
+ const modal = (
+
+ );
+
+ expect(modal).toBeTruthy();
});
});
diff --git a/components/modal/demo/_semantic.tsx b/components/modal/demo/_semantic.tsx
index 2d033b9366..0547852766 100644
--- a/components/modal/demo/_semantic.tsx
+++ b/components/modal/demo/_semantic.tsx
@@ -32,16 +32,14 @@ const BlockModal = (props: ModalProps) => {
divRef.current!}
{...props}
- styles={
- {
- mask: {
- position: 'absolute',
- },
- wrapper: {
- position: 'absolute',
- },
- } as any
- }
+ styles={{
+ mask: {
+ position: 'absolute',
+ },
+ wrapper: {
+ position: 'absolute',
+ },
+ }}
style={{
top: '50%',
transform: 'translateY(-50%)',
diff --git a/components/modal/interface.ts b/components/modal/interface.ts
index 576e2e9acd..e3890dffdd 100644
--- a/components/modal/interface.ts
+++ b/components/modal/interface.ts
@@ -5,13 +5,12 @@ import type { ClosableType } from '../_util/hooks/useClosable';
import type { ButtonProps, LegacyButtonType } from '../button/button';
import type { DirectionType } from '../config-provider';
-export type ModalFooterRender = (
- originNode: React.ReactNode,
- extra: { OkBtn: FC; CancelBtn: FC },
-) => React.ReactNode;
-interface ModalCommonProps {
- styles?: Omit, 'wrapper'>;
+interface ModalCommonProps extends Omit {
+ footer?:
+ | React.ReactNode
+ | ((originNode: React.ReactNode, extra: { OkBtn: FC; CancelBtn: FC }) => React.ReactNode);
}
+
export interface ModalProps extends ModalCommonProps {
/** Whether the modal dialog is visible or not */
open?: boolean;
@@ -32,8 +31,6 @@ export interface ModalProps extends ModalCommonProps {
centered?: boolean;
/** Width of the modal dialog */
width?: string | number;
- /** Footer content */
- footer?: ModalFooterRender | React.ReactNode;
/** Text of the OK button */
okText?: React.ReactNode;
/** Button `type` of the OK button */