我正在使用reactstrap处理React.js项目,并且在处理模式模块中的键盘事件时遇到了一些麻烦。
这是我的简单代码段
<Modal isOpen={this.state.modal} toggle={this.toggle}>
<ModalBody>
<Input onKeyPress= {(e) => if(e.key === 'Enter') {//do something}} />
</ModalBody>
</Modal>
当我尝试将事件处理程序添加到Input组件并在模式打开时对其进行测试时,它会异常工作并且
我尝试在onKeyPress处理程序中添加e.preventdefault()
,但即使键盘Input也不能在Input组件上使用。
我尝试了e.stopPropagation()
,但是什么也没发生。
我认为Modal组件正在捕获按键事件。因为当我按下ESC按钮时,它会自动关闭。
我希望仅输入组件对按键事件做出反应。如何防止模式组件捕获按键事件?