gpt4 book ai didi

twitter-bootstrap - 如何以编程方式打开/关闭react-bootstrap模式?

转载 作者:行者123 更新时间:2023-12-03 13:01:55 24 4
gpt4 key购买 nike

我需要打开/关闭模态

$(element).modal('show')

如何做到这一点?

最佳答案

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

const CustomModalTrigger = React.createClass({
mixins: [OverlayMixin],

getInitialState() {
return {
isModalOpen: false
};
},

handleToggle() {
this.setState({
isModalOpen: !this.state.isModalOpen
});
},

render() {
return (
<Button onClick={this.handleToggle} bsStyle='primary'>Launch</Button>
);
},

// This is called by the `OverlayMixin` when this component
// is mounted or updated and the return value is appended to the body.
renderOverlay() {
if (!this.state.isModalOpen) {
return <span/>;
}

return (
<Modal bsStyle='primary' title='Modal heading' onRequestHide={this.handleToggle}>
<div className='modal-body'>
This modal is controlled by our custom trigger component.
</div>
<div className='modal-footer'>
<Button onClick={this.handleToggle}>Close</Button>
</div>
</Modal>
);
}
});

React.render(<CustomModalTrigger />, mountNode);

更新(2015 年 8 月 4 日)

在最新版本的 React-Bootstrap 中,是否显示模态框是由传递给模态框的 show 属性控制的。不再需要 OverlayMixin 来控制模态状态。控制模态框的状态仍然是通过 setState 完成的,在本例中是通过 this.setState({ showModal: true }) 完成的。以下内容基于 React-Bootstrap 网站上的示例:

const ControlledModalExample = React.createClass({

getInitialState(){
return { showModal: false };
},

close(){
this.setState({ showModal: false });
},

open(){
this.setState({ showModal: true });
},

render() {
return (
<div>
<Button onClick={this.open}>
Launch modal
</Button>

<Modal show={this.state.showModal} onHide={this.close}>
<Modal.Header closeButton>
<Modal.Title>Modal heading</Modal.Title>
</Modal.Header>
<Modal.Body>
<div>Modal content here </div>
</Modal.Body>
<Modal.Footer>
<Button onClick={this.close}>Close</Button>
</Modal.Footer>
</Modal>
</div>
);
}
});

关于twitter-bootstrap - 如何以编程方式打开/关闭react-bootstrap模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29471368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com