1

我正在尝试构建一个表单,该表单在选中时具有一个复选框字段,使用 formik 将出现另一个新的选择字段。

4

1 回答 1

0

这是一个简单的方法

import React from 'react';
import ReactDOM from 'react-dom';
import { Formik, Field, Form } from 'formik';

const sleep = (ms) => new Promise((r) => setTimeout(r, ms));

const Basic = () => (
  <div>
    <h1>Sign Up</h1>
    <Formik
      initialValues={{
        toggle: false,
        toggle2: false,
      }}
      onSubmit={async (values) => {
        await sleep(500);
        alert(JSON.stringify(values, null, 2));
      }}
    >
      {({ values }) => (
        <Form>
          {/* 
            This first checkbox will result in a boolean value being stored. Note that the `value` prop
            on the <Field/> is omitted
          */}
          <label>
            <Field type="checkbox" name="toggle" />
            {`${values.toggle}`}
          </label>
          {values.toggle ? (<label>
            <Field type="checkbox" name="toggle2" />
            new toggle          </label>):null}
         
          <button type="submit">Submit</button>
        </Form>
      )}
    </Formik>
  </div>
);

ReactDOM.render(<Basic />, document.getElementById('root'));
于 2021-03-30T13:14:17.010 回答