我需要通过按下"ESC"键也关闭模态框,目前只能通过点击"关闭"和"确认"按钮关闭。我正在使用reactstrap和react hooks。
这是代码:
const DeleteUserModal = props => {
const { user, show } = props;
const deleteUser = async () => {
await props.removeUser(user);
props.onCloseModal();
};
const handleKeyPress = target => {
if (target.charCode === ENTER_KEY) {
deleteUser();
}
};
return (
<div onKeyPress={handleKeyPress}>
<Modal isOpen={show} toggle={props.onCloseModal} >
<ModalHeader toggle={props.onCloseModal}>
<IntlMessages id="modal.delete.user.title" />
</ModalHeader>
<ModalBody>
<IntlMessages id="modal.delete.user.description" />
</ModalBody>
<ModalFooter>
<Button className="cancel" onClick={props.onCloseModal}>
<IntlMessages id="modal.common.cancel" />
</Button>
<Button className="action" onClick={deleteUser}>
<IntlMessages id="modal.common.ok" />
</Button>
</ModalFooter>
</Modal>
</div>
);
};
export default DeleteUserModal;
跟随模态框有两个操作