微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么使用formik useField时不显示错误?

如何解决为什么使用formik useField时不显示错误?

我的任务是编写代码来选择日期。
这是我现在所拥有的:

export let DatePicker = ({ label,...props }) => {
  let [field,Meta,helpers] = useField(props.name)
  let { value,touched,error } = Meta
  if(value === null)
    value = {}
  let { setValue,setTouched,setError } = helpers
  let days = [],meses = []
  for(let i = 1; i <= 31; i++)
    days.push(i)
  for(let i = 1; i <= 12; i++)
    meses.push(i)
  console.log(error)
  return (
    <div>
      <p>{label}</p>
      <select>
        {days.map(day => (
          <option
            onClick={() => {
              setValue({ ...value,day })
              setTouched(true)
              if(value.day === undefined || value.mes === undefined)
                setError('Error!')
            }}
            key={day} value={day} label={day}
          />
        ))}
      </select>
      <select>
        {meses.map(mes => (
          <option
            onClick={() => {
              setValue({ ...value,mes })
              setTouched(true)
              if(value.day === undefined || value.mes === undefined)
                setError('Error!')
            }}
            key={mes} value={mes} label={mes}
          />
        ))}
      </select>
      {touched && error && (
        <div className="form_error">{error}</div>
      )}
    </div>
  )
}

在控制台中我看到“错误!”首先显示,然后立即未定义。我不明白是什么问题,帮助谁可以

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。