, поэтому у меня есть таблица, отображающая несколько заданий из вызова API. В каждой строке таблицы есть кнопка, которая открывает модальное окно bootstrap, отображающее дополнительную информацию о задании.
Моя проблема в том, что модал, кажется, не открывается для нажатой строки. Всегда открывается указанная строка c (та, у которой самый низкий идентификатор). Кто-нибудь знает, что я делаю не так? ModalComponent
render() {
console.log("job: ", this.props.id)
return (
<div className="container">
<ReactBootstrap.Modal
{...this.props}
size="lg"
aria-labelledby="contained-modal-title-vcenter"
centered
>
<ReactBootstrap.Modal.Header closeButton>
<ReactBootstrap.Modal.Title id="contained-modal-title-vcenter">
{this.props.title}
{this.props.employer}
</ReactBootstrap.Modal.Title>
</ReactBootstrap.Modal.Header>
<ReactBootstrap.Modal.Body>
<h4>Would you like to apply to this job?</h4>
<p>{this.props.description}</p>
</ReactBootstrap.Modal.Body>
<ReactBootstrap.Modal.Footer>
<button className="btn btn-primary" onClick={this.applyJob}>Apply</button>
<button className="btn btn-warning" onClick={this.props.onHide}>Close</button>
</ReactBootstrap.Modal.Footer>
</ReactBootstrap.Modal>
</div>
)
}
console.log
выплевывает идентификатор каждой строки в таблице.
My TableComponent
передает сведения о работе каждого задания в ModalComponent
следующим образом: TableComponent
<tbody>
{
this.props.response.map( // map allows you to loop around items
job => // a key is used to identify a row
<tr key={job.id}>
<td>{job.employer}</td>
<td>{job.jobTitle}</td>
<td>{job.county}</td>
{/* <td>{job.applied + ''}</td> */}
<td>
{this.checkApplied(job.applied)}
</td>
<td><button className="btn btn-info" onClick={() => this.setState({ addModalShow: true })}>Info</button></td>
<ApplyComponent
show={this.state.addModalShow}
onHide={addModalClose}
id={job.id}
title={job.jobTitle}
employer={job.employer}
county={job.county}
description={job.description}
status={job.applied}
/>
</tr>
)
}
</tbody>
Вот изображения таблицы и модальности:
Как видите, детали из нижнего ряда отображаются в модальном режиме, даже когда я нажимаю на верхнюю грести.