javascript - 如何将购物车按钮“添加”更改为其他名称
问题描述
单击添加按钮并使其禁用后,我想将“添加”按钮设置为“添加”。
{
products.map((val, i)=>(
<div className="product_item">
{
val.productType === 'chicken'?
<>
<img src={img2}></img>
<p className="product_data">Chicken Name: {val.chickeName}</p>
<p align="left" className="product_data">weight: 500gm</p>
<p align="left"className="product_data">₹{val.price}/- <button onClick={addTocartProduct}>ADD</button></p>
</>: null
}
</div>
))
}
我在反应 js 中有添加到购物车按钮的示例项目。但是我想在单击添加按钮并将其禁用后将“添加”按钮设置为“添加”。
如果有人知道,请放弃您的答案。
解决方案
考虑到你有一个数组,products
你应该初始化一个 bool 数组:
const [buttonsClicked, setButtonsClicked] = useState(new Array(products).fill(false));
然后
{
products.map((val, i)=>(
<div className="product_item">
{
val.productType === 'chicken'?
<>
<img src={img2}></img>
<p className="product_data">Chicken Name: {val.chickeName}</p>
<p align="left" className="product_data">weight: 500gm</p>
<p align="left"className="product_data">₹{val.price}/- <button onClick={(e) => addTocartProduct(val, i)}>{buttonsClicked[i] ? 'ADDED' : 'ADD'}</button></p>
</>: null
}
</div>
))
}
最后是addTocartProduct
函数:
const addTocartProduct = (val , i) => {
let result = [...buttonsClicked];
result[i] = !result[i];
setButtonsClicked(result);
}
推荐阅读
- instagram - Instagram:access_token 无效
- javascript - Material UI 中的自定义操作选择 MenuItem
- angular - 使用自定义颜色主题化 Angular 材质
- javascript - 从 FormControl 中的 mat-datepicker 中获取价值
- javascript - 如何防止 Firebase 实时数据库、Web、JavaScript 的数据重复
- python - 附加两个数据框并创建一个新的
- javascript - 在 Safari 中缩小时文本无法正确缩放
- php - 即使转到php中的另一个页面,如何在下拉列表中保留选定的选项?
- node.js - 如何修复 node.js 中的内存泄漏
- php - 试图将多维数组转换为查询字符串