好吧,因此我在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/

10-12 13:33