如何以编程方式打开/关闭react引导模式?

我需要像这样打开/关闭模式

$(元素).modal(’show’)

怎么做

您正在寻找的是自定义模式触发器,它使用overlymixin并允许您自己管理模式的状态。您可以使用this.setState({isModalOpen:true})来控制是否显示模式,以实现与下面示例中您在帖子中要求的内容相同的效果。以下代码来自react引导程序网站(http://react-bootstrap.github.io/components.html#modals):

const CustomModalTrigger=React.createClass({
mixin:[overlymixin],
getInitialState(){
返回{
伊斯莫达洛彭:错
};
},
手语{
这是我的国家({
isModalOpen:!this.state.isModalOpen
});
},
render(){
返回(
<Button onClick={this.handleToggle}bsStyle='primary'>启动</Button>
);
},
//当此组件
//安装或更新,并将返回值附加到主体。
renderverlay(){
如果(!this.state.isModalOpen){
返回<span/>;
}
返回(
<Modal bsStyle='primary'title='Modal heading'onRequestHide={this.handleToggle}>
<div className='modal-body'>
此模式由我们的自定义触发器组件控制。
</div>
<div className='modal-footer'>
<Button onClick={this.handleToggle}>Close</Button>
</div>
</Modal>
);
}
});
React.render(<CustomModalTrigger/>,mountNode);

更新(2015年8月4日)

在React Bootstrap的最新版本中,是否显示模态由传递给模态的showprop控制。控制模式状态不再需要OverlyMixin。仍然通过setState控制模式的状态,在本例中,通过this.setState({showmodel:true})。以下内容基于React Bootstrap网站上的示例:

常量ControlleModalExample=React.createClass({
getInitialState(){
返回{showmodel:false};
},
关闭(){
this.setState({showmodel:false});
},
开(){
this.setState({showmodel:true});
},
render(){
返回(
<div>
<按钮onClick={this.open}>
发射模态
</Button>
<Modal show={this.state.showModal}onHide={this.close}>
<模态收割台关闭按钮>
<模态标题>模态标题</模态标题>
</Modal.Header>
<模态车身>
<div>此处的模态内容</div>
</Modal.Body>
<模态页脚>
<Button onClick={this.close}>close</Button>
</Modal.Footer>
</Modal>
</div>
);
}
});

发表评论