Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当使用react输入掩码和formik时,为什么光标会跳到输入的末尾?_Javascript_Reactjs_React Hooks_Formik - Fatal编程技术网

Javascript 当使用react输入掩码和formik时,为什么光标会跳到输入的末尾?

Javascript 当使用react输入掩码和formik时,为什么光标会跳到输入的末尾?,javascript,reactjs,react-hooks,formik,Javascript,Reactjs,React Hooks,Formik,我正在尝试使用react input mask和formik来屏蔽输入。我在formik之外使用了这个屏蔽输入,它按预期工作,但在formik中,输入中的值没有得到更新,光标一直跳到输入的末尾 下面是一个示例,以查看问题和代码的实际情况 下面是代码一览表 import React from "react"; import ReactDOM from "react-dom"; import { useFormik } from "formik"; import Inputmask from "re

我正在尝试使用
react input mask
formik
来屏蔽输入。我在
formik
之外使用了这个屏蔽输入,它按预期工作,但在
formik
中,输入中的值没有得到更新,光标一直跳到输入的末尾

下面是一个示例,以查看问题和代码的实际情况

下面是代码一览表

import React from "react";
import ReactDOM from "react-dom";
import { useFormik } from "formik";
import Inputmask from "react-input-mask";
import Yup from "yup";

import "./styles.css";

function App() {
  const formik = useFormik({
    initialValues: {
      dob: ""
    }
  });
  return (
    <Inputmask
      type="text"
      name="dob"
      mask="00-00-0000"
      alwaysShowMask
      onChange={formik.handleChange}
      value={formik.values.dob}
      onBlur={formik.handleBlur}
    />
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
从“React”导入React;
从“react dom”导入react dom;
从“formik”导入{useFormik};
从“反应输入掩码”导入输入掩码;
从“Yup”导入Yup;
导入“/styles.css”;
函数App(){
常数formik=useFormik({
初始值:{
dob:“
}
});
返回(
);
}
const rootElement=document.getElementById(“根”);
render(,rootElement);

我哪里出错了?

您的问题是您没有正确声明您的面具。如果您只想拥有数字,那么声明掩码的方法是使用数字
9
。在您的情况下,您将声明
面具
道具如下:

mask=“99-99-9999”

请看这里的文档

请参见此处的工作代码沙箱

所有东西乍一看都没问题,您必须查看
InputMask
源代码,并准确跟踪它使用这些道具所做的工作。