Skip to content

Commit 72ad68c

Browse files
committed
モーダルに背景クリックしても閉じないオプションを追加
1 parent aab0f3d commit 72ad68c

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/components/Modals/Modal.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ export type ModalProps = PropsWithChildren<{
2525
style?: CSSProperties;
2626
noPadding?: boolean;
2727
targetElement?: Element;
28+
backdropDismiss?: boolean; // モーダルの背景をクリックして閉じるかどうか
2829
}>;
2930

3031
export const ModalRow: FC<
@@ -39,6 +40,7 @@ export const ModalRow: FC<
3940
onSubmit,
4041
style,
4142
noPadding = false,
43+
backdropDismiss,
4244
}) => {
4345
const { open, isOpen: isOpenHandler, dismiss } = useModal();
4446

@@ -64,7 +66,7 @@ export const ModalRow: FC<
6466
aria-labelledby="modal-label"
6567
aria-hidden="false"
6668
aria-modal="true"
67-
onClick={() => isOpenHandler(false)}
69+
onClick={() => backdropDismiss && isOpenHandler(false)}
6870
style={style}
6971
>
7072
<div
@@ -97,6 +99,7 @@ export const Modal: FC<ModalProps> = ({
9799
dismiss = false,
98100
setOpen,
99101
targetElement,
102+
backdropDismiss = true, // デフォルト値をtrueに設定
100103
...props
101104
}) => {
102105
const [_isOpen, _setIsOpen] = useState(open || false);
@@ -122,7 +125,7 @@ export const Modal: FC<ModalProps> = ({
122125
dismiss,
123126
}}
124127
>
125-
<ModalRow {...props} />
128+
<ModalRow {...props} backdropDismiss={backdropDismiss} />
126129
</ModalContext.Provider>,
127130
targetElement
128131
);
@@ -136,7 +139,7 @@ export const Modal: FC<ModalProps> = ({
136139
dismiss,
137140
}}
138141
>
139-
<ModalRow {...props} />
142+
<ModalRow {...props} backdropDismiss={backdropDismiss} />
140143
</ModalContext.Provider>
141144
);
142145
};

0 commit comments

Comments
 (0)