使用内置条件停止减少数字 React/JS
Stop decreasing number with built in condition React/JS
我有一个可以减少数字的按钮。我如何在 React 中创建一个当我的数字为 1 时停止减少的条件?
<Button type="button" size="small" onClick={() =>
handleUpdateCartQty(item.id, item.quantity - 1)}>-</Button>
类似的东西:
if(item.quantity == 1){
<Button type="button" size="small" onClick={() =>
handleUpdateCartQty(item.id, item.quantity)}>-</Button>
}else{
<Button type="button" size="small" onClick={() =>
handleUpdateCartQty(item.id, item.quantity - 1)}>-</Button>
}
备注
item.quantity
保存数字
的值
您可以简单地使用三元运算符作为 handleUpdateCartQty
参数,例如:
<Button type="button" size="small" onClick={() =>
handleUpdateCartQty(item.id, item.quantity <= 1 ? item.quantity : item.quantity - 1)}>-</Button>
我会用 Math.max 来达到这个目的
<Button type="button" size="small" onClick={() =>
handleUpdateCartQty(item.id, Math.max(0, item.quantity - 1)}>-</Button>
我必须指出,使用 onclick
并不总是一个好习惯。
我建议您改用 addEventListener
。
查看更多here
document.querySelector('button').addEventListener('click', function() {
if (item.quantity > 1) {
handleUpdateCartQty(item.id, item.quantity)
item.quantity--;
}
})
<button type="button" size="small" >-</Button>
可以通过多种方式实现这一点
让我与您分享 2 种方法,以便您可以 select 根据您的要求选择一种
如果一个按钮减少了计数,那么可能有另一种增加计数的方法
如果是这样,那么您可以在值为 1 时禁用递减计数按钮
disabled={newValue<=1}
另一种方法是在函数中添加一个 if
条件
const handleUpdateCartQty = (id, newVal) => {
if(newVal < 1) {
// showNotification('min allowed quantity is 1');
return;
}
// Do update operation
}
如果您没有禁用按钮并且没有显示任何通知 min quantity should be 1
而只是在代码中处理条件,那么它可能会给用户留下按钮不起作用的印象
我有一个可以减少数字的按钮。我如何在 React 中创建一个当我的数字为 1 时停止减少的条件?
<Button type="button" size="small" onClick={() =>
handleUpdateCartQty(item.id, item.quantity - 1)}>-</Button>
类似的东西:
if(item.quantity == 1){
<Button type="button" size="small" onClick={() =>
handleUpdateCartQty(item.id, item.quantity)}>-</Button>
}else{
<Button type="button" size="small" onClick={() =>
handleUpdateCartQty(item.id, item.quantity - 1)}>-</Button>
}
备注
item.quantity
保存数字
您可以简单地使用三元运算符作为 handleUpdateCartQty
参数,例如:
<Button type="button" size="small" onClick={() =>
handleUpdateCartQty(item.id, item.quantity <= 1 ? item.quantity : item.quantity - 1)}>-</Button>
我会用 Math.max 来达到这个目的
<Button type="button" size="small" onClick={() =>
handleUpdateCartQty(item.id, Math.max(0, item.quantity - 1)}>-</Button>
我必须指出,使用 onclick
并不总是一个好习惯。
我建议您改用 addEventListener
。
查看更多here
document.querySelector('button').addEventListener('click', function() {
if (item.quantity > 1) {
handleUpdateCartQty(item.id, item.quantity)
item.quantity--;
}
})
<button type="button" size="small" >-</Button>
可以通过多种方式实现这一点
让我与您分享 2 种方法,以便您可以 select 根据您的要求选择一种
如果一个按钮减少了计数,那么可能有另一种增加计数的方法
如果是这样,那么您可以在值为 1 时禁用递减计数按钮
disabled={newValue<=1}
另一种方法是在函数中添加一个 if
条件
const handleUpdateCartQty = (id, newVal) => {
if(newVal < 1) {
// showNotification('min allowed quantity is 1');
return;
}
// Do update operation
}
如果您没有禁用按钮并且没有显示任何通知 min quantity should be 1
而只是在代码中处理条件,那么它可能会给用户留下按钮不起作用的印象