<Form>
<Form.List name="projects">
{fields =>
...
fields.map(field => <Form.Item name={[field.key, "type"]} hidden={true} initialValue={type} />)
...
}
</Form.List>
</Form>
每当 type
变化时,我想动态设置 Item 值。我想我可以使用 useForm
获取表单实例并使用 setFieldsValue
如下所示。
form = useForm()
onChange(type) {
form.setFieldsValue(/* values here */)
}
但我不确定如何使用 form.setFieldsValue
来引用 Form.List 中的项目。
谁能给我解决方案?
原文由 Adelin Ionut 发布,翻译遵循 CC BY-SA 4.0 许可协议
Antd 表单列表创建一个项目对象数组。然后需要在包含将更改值的项目的数组中定位对象的位置。
返回表单项的所有值:
检索包含表单列表对象的数组:
传递对象在数组中的位置并将项目更改为新值:
然后将新的数组值传递给表单:
这是一个完整的例子: