我有这门课的反应:
render() {
let addedItems = this.props.items.length ? (
this.props.items.map(item => {
return (
<li className="collection-item avatar" key={item.id}>
<div className="item-desc">
<Modal trigger={<Button onClick={this.handleOpen}>Editar</Button>}>
<Header icon="archive" content="Archive Old Messages" />
<Modal.Content>
{/* CHEESE */}
<Button.Group>
<Link to="/cart">
<Button
icon="plus"
onClick={() => {
console.log("BUT +");
this.handleCheese(item, "+");
}}
/>
</Link>
<Button content="Cheese" labelPosition="left" />
<Link to="/cart">
<Button
icon="minus"
onClick={() => {
this.handleCheese(item, "-");
}}
/>
</Link>
<h2>{item.queijo}</h2>
</Button.Group>
</Modal.Content>
</Modal>
</div>
</li>
);
})
)
}
在简历中,一个模式应该根据我选择的对象打开。
但是在我的代码中,item.id选择了我在addedItems中插入的最后一个对象。
我需要这个模式来获得关于我选择的obj的信息.
如果您希望看到所有代码都在:https://github.com/fernanda-avelar/burguer_cart ->中,这个页面是/src/->/cart.js
发布于 2019-12-13 13:33:09
我想你只能有一个模式在你的窗口,这就是为什么它要采取最后一个(通过凌驾所有其他)。
因此,您应该将您的模式从.map中删除。
此外,通过受控状态selectedItem跟踪所选项。
然后使用它-- Modal.Content:
render() {
return (
<>
<Modal.Content>
/* content depending of this.state.selectedItem */
</Model.Content>
/* your other stuff */
</>
)
}https://stackoverflow.com/questions/59323452
复制相似问题