【问题标题】:Input on change event not getting called when change更改时未调用更改事件的输入
【发布时间】:2021-04-11 05:37:47
【问题描述】:

我正在使用antd 输入我的号码,并且我尝试在输入更改时调用onChange 方法。问题是当用户一直退格时,即当输入为空时,事件不会被调用。

<InputNumber type="number" onChange={(val) => onChange(val)} />

https://codesandbox.io/s/admiring-http-zq0ue?file=/src/App.js

【问题讨论】:

  • 它会在输入模糊时触发,但如果输入为空则不会在此之前触发。
  • @fast-reflexes 是的,但我需要它在模糊之前为空。我该怎么做
  • 尝试其他偶数处理程序,如下面建议的onKeyDown 或查看 antd InputNumber 的实现以找出它不触发的原因......因为它肯定不是预期的行为...如果您认为他们的组件出现故障,可以向他们提交错误报告!

标签: reactjs events input antd


【解决方案1】:

InputNumber 组件中找到了另一个替代方案。即使输入字段为空,使用onInput 也会捕获输入,但它应该与onStep 一起捕获向上或向下按钮的点击事件。

<InputNumber type="number" onInput={(val) => onChange(val)} onStep={(val) => onChange(val)} />

注意:
onInput 返回字符串值
onStep 返回数值
NaN 输入(例如运算符符号)被读取为空字符串

【讨论】:

    猜你喜欢
    • 2019-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-24
    • 1970-01-01
    • 1970-01-01
    • 2017-06-29
    • 2019-03-31
    相关资源
    最近更新 更多