如何解决onBlur 不更新 InputMask 中的掩码
我正在使用 React InputMask 来屏蔽我的输入。我的自定义组件 MyInputMask 带有代码:
const MyInputMask = (props: MyMaskProps) => {
const { value } = field
const Meta = form.getFieldMeta(field.name)
const inputMaskProps = {
mask: mask,maskChar: maskChar,value: value
}
if (onBlur) {
inputMaskProps.onBlur = onBlur
}
return (<div>
<InputMask {...inputMaskProps} />
</div>
在我的父组件中,我有类似的东西:
const [mask,setMask] = useState('999')
const handleBlur = () => {
setMask("99.9")
}
<MyInputMask mask={mask} maskChar=" " onBlur={handleBlur} />;
所以我的第一个掩码应该是 999(在用户开始打字之前和打字时),然后在字段未聚焦(onBlur)之后它应该是 99.9,所以我希望用户输入的输入被格式化通过第二个面具。例如,用户键入 789,在他单击另一个字段后,值 789 应为 78.9。 用这段代码在字段失焦后,格式化没有完成,所以我还是789,不是78.9 谁能帮我理解为什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。