React中屏蔽输入的onChange问​​题

时间:2018-10-28 22:37:10

标签: javascript reactjs input onchange maskedinput

我正在尝试在React中创建一个掩码输入(不使用掩码输入库)。我的问题是我无法使用onchange道具访问e.key-它只是给我未定义,所以我改用了onKeyDown-这是可行的,但是我在控制台中收到一条警告,内容是:

“警告:道具类型失败:您为没有value处理程序的表单字段提供了onChange道具。这将呈现一个只读字段。如果该字段是可变的,请使用{{ 1}}。否则,请设置defaultValueonChange。”

我尝试使用keyDown来获取密钥,然后使用onChange函数对输入进行屏蔽,但是它始终在应有的位置后面一个字符。

到目前为止,这就是我的代码,我很感激可以解决此问题的任何提示等。

readOnly

在此先感谢您提供指导!

1 个答案:

答案 0 :(得分:1)

related issue on React Github Repo上进行了长时间的交谈。而且还没有提供优雅的解决方案。

目前消除此警告的最简单方法是,按照建议的in this post向输入元素添加一个单独的虚拟onChange道具(onChange={() => {}}