将未屏蔽的InputMask值存储在Formik和Material-UI中

好吧,所以我在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中,该值与掩码,连字符和所有字符一起存储,而我希望将其存储为没有空格/掩码的数字/字符串。去那个吗?

koten443322 回答:将未屏蔽的InputMask值存储在Formik和Material-UI中

根据@Kiran LM的注释代码示例,可以通过添加此代码而不是现有的onChange以及从Formik破坏setFieldValue来实现。

                      onChange={e => {
                        const value =
                          e.target.value
                            .replace(/-/g,"")
                            .replace(/X/g,"") || "";
                        setFieldValue("ssn",value);
                      }}

非常感谢他们。

本文链接:https://www.f2er.com/3167412.html

大家都在问