Reactjs 如何以编程方式更新antd中的表单字段值
我使用的是antd版本4.0.0-rc.3, 我有一个包含以下值的表单Reactjs 如何以编程方式更新antd中的表单字段值,reactjs,antd,Reactjs,Antd,我使用的是antd版本4.0.0-rc.3, 我有一个包含以下值的表单 { user: { address: { country: 'India', state: 'abc', zipcode: 123456 } } } 如何将zipcode值更新为98765? setFieldsValue仅更新根级别的字段 我在试着用 setFieldsValue({ ['user.address.zipcode']: 9
{
user: {
address: {
country: 'India',
state: 'abc',
zipcode: 123456
}
}
}
如何将zipcode值更新为98765?
setFieldsValue仅更新根级别的字段
我在试着用
setFieldsValue({
['user.address.zipcode']: 98765
})
此函数的结果是
{
user: {
address: {
country: 'India',
state: 'abc',
zipcode: 123456
}
},
user.address.zipcode:98765
}
提前感谢您宝贵的回答使用设置字段
const newData = {user: {...address, zipcode:98765 }}
setFields([{
name: ['user', 'address', 'zipcode'],
value: 98765,
}])
您可以使用:
或:
任何一个都将设置您以前状态的副本,仅更改zipcode。据我所知,setFieldsValue专门用于更新字段值。如果您想使用setFieldsValue方法通过字段更新值,请使用类似zipcode的字段名,然后通过form validator方法获取值,如果我错了,提供一个提琴。这段代码可以工作,但我必须根据准确更改的字段setFieldsValue({user:{address:{country:'India',state:'abc',zipcode:98765}}}})做一些事情请稍作解释编辑原始答案,并对您的代码片段进行文本解释,以供未来读者阅读。此答案位于低质量帖子审阅队列中,因为您没有描述您的答案。这浪费了人们浏览答案的时间,因为他们必须对答案进行反向工程,以找出他们所做的事情以及它们与问题的关系。请编辑您的答案,并说明您的答案如何解决问题,以避免删除。
import update from 'immutability-helper';
setFields(update(fields, {
user: {
address: {
zipcode: {$set: 98765}
}
}
}))
setFields({
...fields, // if there is only user inside the fields, that's not necessary
user: {
...fields.user, // if there is only address inside the user, that's not necessary
address: {
...fields.user.adress, // This will copy all the address attributes (country, state, zipcode)
zipcode: 98765 // This will overwrite the zipcode
}
}
})