показывать активное состояние в метке при использовании formik - PullRequest
1 голос
/ 30 января 2020

Я использовал 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>
    </>
  );
};

Я не Я не вижу активных реквизитов в формике.

1 Ответ

1 голос
/ 30 января 2020

Вы можете использовать onFocus prop, поддерживаемый полем ввода.

const [active, setActive] = useState(false)

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

  {...otherProps}

/>

...