Antd:如何使用 setFieldsValue 设置嵌套字段值
Antd: How to set nested field value using setFieldsValue
所以我有一个嵌套的动态表单,我想使用 getFieldsValue
检查它的值。但无论何时我这样做,它都不会 return 我的价值观。
使用 ant 表单挂钩,我将表单列表创建为 <Form.List name="guests">
并将名称分配给表单输入 <FormInput name={[index, "firstName"]} label='FIRST NAME' />
我正在尝试使用 form.setFieldsValue({ [index, "firstName"]: [value])
设置它的值,但它不起作用。关于如何设置路径的任何建议。
严格需要使用 setFieldsValue
首先使用form.getFieldValue获取guests
数组(你也可以使用getFieldsValue(['guests'])?.guests)。
然后你可以像这样修改和设置值:
let guests = form.getFieldValue('guests');
// Check If `guests` exist & guest is an array & it's not empty
if (guests && Array.isArray(guests) && guests.length) {
// Check If firstName exists at that `index`
if (guests[index]?.firstName) {
guests[index].firstName = 'New Name';
form.setFieldsValue({ names: guests });
}
}
所以我有一个嵌套的动态表单,我想使用 getFieldsValue
检查它的值。但无论何时我这样做,它都不会 return 我的价值观。
使用 ant 表单挂钩,我将表单列表创建为 <Form.List name="guests">
并将名称分配给表单输入 <FormInput name={[index, "firstName"]} label='FIRST NAME' />
我正在尝试使用 form.setFieldsValue({ [index, "firstName"]: [value])
设置它的值,但它不起作用。关于如何设置路径的任何建议。
严格需要使用 setFieldsValue
首先使用form.getFieldValue获取guests
数组(你也可以使用getFieldsValue(['guests'])?.guests)。
然后你可以像这样修改和设置值:
let guests = form.getFieldValue('guests');
// Check If `guests` exist & guest is an array & it's not empty
if (guests && Array.isArray(guests) && guests.length) {
// Check If firstName exists at that `index`
if (guests[index]?.firstName) {
guests[index].firstName = 'New Name';
form.setFieldsValue({ names: guests });
}
}