在React中将空值设置为数字文本框

时间:2019-10-12 07:29:39

标签: javascript reactjs

我试图在我的数字文本框中设置空值,但是每当我按退格键时,我在输入字段中仍然得到0。这是输入代码的代码

这是代码

<input
  style={{ height: "calc(1.5em + 0.75rem + 2px)" }}
  className="form-control"
  type="number"
  min="1"
  max="10"
  value={purchase.voucherSelected[i].q}
  onChange={e => this.handleChange(e, i)}
  // onKeyDown={(e) =>  this.keyPressed(e)}
  />
 handleChange(e, i) {
   if (e.currentTarget.value.length > 2) {
     return null;
   }
   this.props.onQuantityChange(Number(e.currentTarget.value), i);
 }

const onQuantityChange = (value, index) => { return { type: QUANTITY_CHANGE, value, index } } voucher selected image

有人为此有黑客吗?谢谢

1 个答案:

答案 0 :(得分:0)

// Not a hack, just plain Javascript
const value = ''
const n = Number(value)
console.log(n)
const nOrEmpty = n !== 0 ? n : ''
console.log(nOrEmpty)
// or
const numericValueOrEmpty = value !== '' ? Number(value) : value
console.log(numericValueOrEmpty)