我正在尝试在React中创建一个掩码输入(不使用掩码输入库)。我的问题是我无法使用onchange道具访问e.key-它只是给我未定义,所以我改用了onKeyDown-这是可行的,但是我在控制台中收到一条警告,内容是:
“警告:道具类型失败:您为没有value
处理程序的表单字段提供了onChange
道具。这将呈现一个只读字段。如果该字段是可变的,请使用{{ 1}}。否则,请设置defaultValue
或onChange
。”
我尝试使用keyDown来获取密钥,然后使用onChange函数对输入进行屏蔽,但是它始终在应有的位置后面一个字符。
到目前为止,这就是我的代码,我很感激可以解决此问题的任何提示等。
readOnly
在此先感谢您提供指导!
答案 0 :(得分:1)
在related issue on React Github Repo上进行了长时间的交谈。而且还没有提供优雅的解决方案。
目前消除此警告的最简单方法是,按照建议的in this post向输入元素添加一个单独的虚拟onChange道具(onChange={() => {}}
)