使用redux单击react- bootstrap中的外部模态
Clicking outside modals in react-boostrap using redux
我有一个模态,它有以下代码:
class CreateBookingModal extends React.Component {
render() {
return (
<Modal show={this.props.showModal}>
<Modal.Header>
<Modal.Title>{`${strings.createBookingModal.title} ${convertDateToString((this.props.bookingDate || new Date()))}`}</Modal.Title>
</Modal.Header>
<Modal.Body>
{strings.createBookingModal.body}
</Modal.Body>
<Modal.Footer>
{/* TODO */}
<Button onClick={this.props.onCancelBookingCreation}>{strings.createBookingModal.cancel}</Button>
<Button onClick={() => this.props.onCreateBooking(123, 123, 123)} bsStyle="primary">{strings.createBookingModal.save}</Button>
</Modal.Footer>
</Modal>
)
}
}
showModal和bookingDate都是使用redux注入的。现在,只要我使用绑定了两个分派处理程序的两个按钮,一切都很好。然而,我还想关闭模态(即通过使用onCancelBookingCreation将showModal的值更改为false),当escape被按下时,或者人单击模态外部。有什么(漂亮的)方法可以做到这一点吗?
你可能应该创建一个动作,当点击'body'元素(或任何作为modal背景的元素)时,这个动作应该将状态'showModal'更改为false,当点击modal时,你应该使用e.s stoppropagation来阻止点击事件传播到~background元素
相关文章:
- jqueryajax调用是复制url,当在模态视图之后在外部js文件中进行调用时
- angularjs模态将数据传输到外部控制器的正确方法
- Google PageSpeed Insights说我的网站很重.外部模态是一种解决方案吗?
- 分解javascript/jquery代码,以便在单击外部时隐藏模态
- facebox 1.3,当您在模态外部单击时不会关闭对话框
- JQuery模态对话框外部ui
- 从HTML外部打开模态
- 使用外部多模态JavaScript
- 使用redux单击react- bootstrap中的外部模态
- 将下拉列表绑定到外部模态的敲除值
- 加载外部js文件到bootstrap模态框
- 在引导模态外部单击关闭时的回调函数
- 捕捉外部jquery ui模态中的点击
- 在控制器外部创建角模态
- 引导模态点击关闭或外部点击不停止youTube视频
- 通过点击模态外部来关闭模态
- React用class查找所有组件,从外部更新组件状态或道具.模态叠加
- 从外部源加载链接内部模态
- 如何从模型外部访问模态实例$scope
- 使用ajax将外部页面调用到模态窗口中