使用 formik 时在标签中显示活动状态

show active state in label when using formik

我一直在使用 redux-form 作为表单,但我想切换到 formik,但我找不到显示我的输入字段是否处于活动状态的方法。就像使用 redux-form 时我曾经使用

{label && (
   <Label isActive={meta !== undefined && meta.active} css={labelCss}>
    {label}
   </Label>
)}

但是在 formik 中怎么可能

这是我的代码

const TextField = ({ label, type, ...props }) => {
  const [field, meta] = useField(props);
  const errorText = meta.error && meta.touched ? meta.error : "";
  console.log('meta', meta)
  return (
    <>
      <InputGroup>
        {label && <Label>{label}</Label>}
        <Input type={type} {...field} {...props} />
      </InputGroup>
    </>
  );
};

我在 formik 中没有看到任何活动道具。

您可以使用输入字段支持的 onFocus 道具。

const [active, setActive] = useState(false)

<Input
  onBlur={() => setActive(false)}
  onFocus={() => setActive(true)}

  {...otherProps}

/>