我想显示react-bootstrap-modal
,但只显示叠加层,而模式未显示
import Modal from 'react-bootstrap-modal';
......
<Modal
show={this.state.open}
onHide={this.closeModal}
aria-labelledby="ModalHeader"
>
<Modal.Header closeButton>
<Modal.Title id='ModalHeader'>A Title Goes here</Modal.Title>
</Modal.Header>
<Modal.Body>
<p>Some Content here</p>
</Modal.Body>
<Modal.Footer>
// If you don't have anything fancy to do you can use
// the convenient `Dismiss` component, it will
// trigger `onHide` when clicked
<Modal.Dismiss className='btn btn-default'>Cancel</Modal.Dismiss>
// Or you can create your own dismiss buttons
<button className='btn btn-primary'>
Save
</button>
</Modal.Footer>
</Modal>
.....
截图:
答案 0 :(得分:7)
动画使用动画似乎有问题= {false} <Modal animation={false}>
</Modal>
答案 1 :(得分:1)
我的解决方法是
class Parent extends React.Component {
constructor(props) {
super(props);
this.state = {
modal: false
};
this.toggle = this.toggle.bind(this);
};
toggle() {
this.setState({modal: !this.state.modal});
}
render() {
return (
<div>
<button onClick={ this.toggle}>Contact Us</button>
<Modal isOpen={this.state.modal} fade={false}
toggle={this.toggle} style={{width: "200px", display: "block"}}>
<ModalHeader toggle={this.toggle}>
Modal title
</ModalHeader>
<ModalBody>
Lorem ipsum dolor sit amet,
</ModalBody>
<ModalFooter>
<Button onClick={this.toggle}>
Do Something
</Button>{' '}
<Button onClick={this.toggle}>Cancel</Button>
</ModalFooter>
</Modal>
</div>
);
}
}
答案 2 :(得分:1)
将近2年,错误仍然存在。接受的答案中提到的错误已关闭,没有任何解决方案。
导致此行为的主要问题是背景幕已正确应用了“淡入淡出”类,但同一类也被应用于了模态。使模态不可见。
要克服此问题,请强制覆盖由“ fade”类设置的不透明度。
<Modal style={{opacity:1}}> </Modal>
答案 3 :(得分:0)
答案 4 :(得分:0)
添加fade={false}
至少可以使我看到要显示的模式。
答案 5 :(得分:0)
问题不是因为“react-bootstrap”包。 问题是:您必须导入了 bootstrap css 并且 react-bootstrap 包中的 bootstrap css 发生冲突。
尝试按如下方式导入 css:
import "bootstrap/dist/css/bootstrap.min.css";
代替:
import "./assets/CSS/bootstrap/dist/css/bootstrap.min.css";
因为我们无法删除使用模态的“react-bootstrap”。所以尝试删除其他css。这为我解决了这个问题。