【发布时间】:2020-11-14 09:05:51
【问题描述】:
我还需要使用“ESC”键关闭模式,此时它正在关闭“CLOSE”和“CONFIRM”按钮。我正在使用 reactstrap,react hooks。 键盘 {show} 和 handleClose 没用。
代码如下:
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;
通过两个动作跟随模态
【问题讨论】:
-
关闭按钮是什么意思?
-
请参考bootstrap提供的以下getbootstrap.com/docs/4.0/components/modal/#options
-
我需要按 ESC 键关闭模式。目前按下确认按钮或取消操作时它会关闭。我正在检查文档,但是当我输入代码时,什么也没有发生。
标签: javascript reactjs keyboard-events reactstrap modalpopup