问题描述
所以我的表单中有一个受控的输入字段。但我也想通过单击按钮更新其值。单击按钮后,状态将更新,值已更改。但是由于某些原因,输入的内部HTML仍然相同。
有什么问题吗?也许是因为我的表单状态存储在Redux中?顺便说一句,我没有使用Redux Form或其他任何东西,我只是将表单状态存储在Redux中。可以吗?
代码是这样的。我使用react-text-mask。 “地址”是从Redux状态导入的:
import MaskedInput from 'react-text-mask'
<MaskedInput
mask={mask}
onChange={handleChange}
type: 'text',name: 'address',value: address
/>
还有一件事要提到。当我只按下按钮时,一切工作正常。但是,当我在该字段中键入内容后,它便停止工作:此刻之后,单击按钮即可更新状态,但内部HTML不再更改。
解决方法
请考虑将组件的绑定值状态绑定到输入元素
<input value={value} onChange={e => handleCode} />
最后找到了原因。这只是react-text-mask包中的错误。回滚到以前的版本,现在可以使用了!
此问题也在这里讨论:https://github.com/text-mask/text-mask/issues/806
谢谢大家。