无法将“触摸”设置为 true

Sta*_*tas 4 javascript reactjs yup formik

我只是想创建一个自定义 Formik <Field />。它是一个<input type = file /> opacity=0 并且取决于values我的<Error />组件样式和<input type = text />. values.photo没问题。问题是 touch 永远不会变成真的,所以我无法显示我的<Error />组件。你能解释一下出了什么问题吗? https://codesandbox.io/s/purple-violet-qgxr3?file=/src/components/FileInput.js

ade*_*del 5

在您的文件输入组件中,只需添加以下内容:

form.setTouched({...form.touched,[field.name]: true });
Run Code Online (Sandbox Code Playgroud)

setTouched 取字段对象,field.name是文件输入名称。