LoginSignup
3
1

More than 1 year has passed since last update.

[AntDesign] [Next.js] チェックボックス型のフォームが書きかわらない

Posted at

Next.js + AntDesignでフォームを実装中に
チェックボックス型のフォームを実装している時にはまった時の備忘録。
チェックボックスを変更してもフォームのvaluesが書き変わらなかった。

原因

FormonValuesChangeが指定されている状態で
Form.ItemvaluePropName="checked"を指定していたため、
formvaluesの中の"hoge"が書きかわらなかった。

修正したコード

FormonValuesChangeを指定するのをやめ、
Form.Item内でonChangeを指定するよう変更した。

Before

const [form] = Form.useForm() 
...
<Form form={form} onFinish={onFinish} onValuesChange={handleChangeFuga}>
  <Form.Item
    name="hoge"
    valuePropName="checked"
    initialValue
  >
    <Checkbox>
        Hoge
    </Checkbox>
  </Form.Item>

  <Form.Item
    name="fuga"
  >
    ...
  </Form.Item>
</Form>

After

const [form] = Form.useForm() 
...
 <Form form={form} onFinish={onFinish}>
  <Form.Item
    name="hoge"
    valuePropName="checked"
    initialValue
  >
    <Checkbox>
        Hoge
    </Checkbox>
  </Form.Item>

  <Form.Item
    name="fuga"
    onChange={handleChangeFuga}
  >
    ...
  </Form.Item>
</Form>
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1