【发布时间】:2019-09-13 14:11:28
【问题描述】:
我正在创建一个应用程序,允许员工从我们的商店预订设备。当我们单击“预订”按钮时,我正在使用 reactstrap 打开一个模式,以便员工可以添加更多信息。当模态打开时,我想要模态标题中的项目名称,但由于某种原因,当我使用.map() 时,它为所有模态提供相同的标题,但.map() 是否适用于其他所有内容?
为了节省您的时间,只有这部分代码会发生错误:
<ModalHeader toggle={this.toggle}>
{item.name}
</ModalHeader>
我不确定问题出在哪里,希望能得到任何帮助!
{events.map(item => {
if (item.isBooked === true) {
return (
<div className="col-md-4 item p-2">
<img className="item-img-booked" src={item.img} alt="" />
<br />
<br />
<h6 className="text-center">{item.name}</h6>
<button className="btn btn-success btn-sm m-1">Return</button>
</div>
);
} else
return (
<div className="col-md-4 item p-2">
<img className="item-img" src={item.img} alt="" />
<br />
<br />
<h6 className="text-center">{item.name}</h6>
<Button color="danger" onClick={this.toggle}>
Book Out
</Button>
<div>
<Modal isOpen={this.state.modal} toggle={this.toggle}>
<ModalHeader toggle={this.toggle}>
{item.name}
</ModalHeader>
<ModalBody>
Lorem ipsum dolor sit amet, consectetur adipisicing
elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip ex
ea commodo consequat. Duis aute irure dolor in
reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur. Excepteur sint occaecat cupidatat
non proident, sunt in culpa qui officia deserunt mollit
anim id est laborum.
</ModalBody>
<ModalFooter>
<Button color="primary" onClick={this.toggle}>
Confrim
</Button>
{" "}
<Button color="secondary" onClick={this.toggle}>
Cancel
</Button>
</ModalFooter>
</Modal>
</div>
</div>
);
}
)}
【问题讨论】:
-
.map()使用数组中的数据,如果标题错误,则可能数组中的标题名称错误。 -
@JuniusL。不幸的是,事实并非如此。名称在数组中是正确的。您可以看到我在同一个映射中两次使用 {item.name}。一次按预期工作,另一次使用数组中最后一项的名称
-
请在这里创建一个简单的工作项目来解决您的问题stackblitz.com
-
@JuniusL。这是链接:react-us21xi.stackblitz.io/events 我无法让 reactstrap 工作......
-
我想看代码,代码在哪里?
标签: javascript reactjs reactstrap