Привет, у меня есть два компонента ExportReportRoomSelectionModal
и Header
, оба имеют свою логику и состояние. Я хочу открыть модал «Выбор комнаты для отчета об экспорте» с помощью кнопки на компоненте «Заголовок», и для этого я должен установить для параметра «Состояние на ExportReport ....» значение show: true
. Я попытался передать handleShow function
в качестве реквизита в Headers.js, а затем в заголовке. Я хочу подключить его к элементу, который вызывает ExportReport .... Модальный. Но я не получаю никаких реквизитов на Header вообще.
import Header from './Header.js';
export default class ExportReportRoomSelectionModal extends React.Component {
constructor(props) {
super(props);
this.state = {
show: false,
};
this.handleHide = this.handleHide.bind(this);
this.handleShow = this.handleShow.bind(this);
this.handleClick = this.handleClick.bind(this);
}
handleHide() {
this.setState({show: false});
}
handleShow() {
this.setState({show: true});
}
render() {
return (
<Modal className="layout-scale-desktop layout-scale-45" onHide={this.handleHide} show={this.state.show}>
<Modal.Header closeButton>
<Modal.Title>Print PDF</Modal.Title>
</Modal.Header>
<Modal.Body>
</Modal.Body>
<Modal.Footer>
<Button bsStyle="primary" onClick={this.handleSend}>Send PDF</Button>
<Button bsStyle="primary" onClick={this.handleHide}>Close</Button>
</Modal.Footer>
<Header showModal={this.handleShow} />
</Modal>
);
}
}
class Header extends React.Component {
constructor(props) {
super(props);
this.state = { };
}
render() {
return (
<div>
<nav className="navbar navbar navbar-default">
<div className="navbar-header">
<a className="navbar-brand"
<li>
<a href="#"
data-toggle="modal"
onClick={this.props.showModal}
>
{t("reports")}
</a>
</li>
...
)
}
}