好吧,因此我在Formik表单内的Material UI的文本字段的自定义样式实现中具有Input Mask的实现:
<InputMask
mask="999-99-9999"
maskChar="X"
value={values.ssn}
onChange={handleChange}
onBlur={handleBlur}
className={classNames(
styles.inputField,
styles.override
)}
>
{() => (
<LNTextField
name="ssn"
label="Social Security Number"
error={touched.ssn && errors.ssn ? true : false}
helperText={
touched.ssn && errors.ssn ? "* " + errors.ssn : ""
}
type="text"
/>
)}
</InputMask>
现在的问题是,在
values.ssn
中,值与掩码,连字符和所有字符一起存储,我希望将其存储为没有空格/掩码的数字/字符串,我将如何处理? 最佳答案
根据@Kiran LM的注释代码示例,这是通过添加此代码而不是现有的onChange
以及从Formik破坏setFieldValue
来实现的
onChange={e => {
const value =
e.target.value
.replace(/-/g, "")
.replace(/X/g, "") || "";
setFieldValue("ssn", value);
}}
非常感谢他们。
关于javascript - 将未屏蔽的InputMask值存储在Formik和Material-UI中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58691865/