如何用ant-design useForm查询字段值?

sha*_*kra 1 reactjs antd

我有这个表单,我想根据其他已修复字段(它们从不隐藏)的值来显示或隐藏字段,但form.getFieldValue("some-field")始终使用 return undefined

这是一个最小的功能示例,展示了我遇到的问题:

编辑 爱-almeida-tb1h2

我对 antd 做错了什么以及如何实现我的用例?

Tri*_*ani 5

通过查看官方文档,他们提供了一种使用内部条件的方法<Form.Item>

<Form.Item
  noStyle
  shouldUpdate={(prevValues, currentValues) => prevValues.gender !== currentValues.gender}
>
  {({ getFieldValue }) =>
    getFieldValue('gender') === 'other' ? (
      <Form.Item
        name="customizeGender"
        label="Customize Gender"
        rules={[
          {
            required: true,
          },
        ]}
      >
        <Input />
      </Form.Item>
    ) : null
  }
</Form.Item>
Run Code Online (Sandbox Code Playgroud)

我已更改您的示例以按预期工作。请检查。

编辑 blue-platform-06fji

  • 这可行,但天哪,这对 antd 来说是糟糕的设计...... (3认同)