如何解决试图清除我的 react-final-form 字段,但我得到了空对象值
这是我的场景,我在初始页面加载时清除除 "retainThisObj"
之外的所有字段值。
我的问题是我得到了空的 { } 简而言之我的 "retainThisObj"
也被删除了。我期待这个 { retainThisObj }
这是我的代码
从'react-final-form'导入{ useForm }
const finalFormAPI = useForm()
const { retainThisObj,...restValues } = finalFormAPI.values
// func to reset field values
const reset = (obj) => {
Object.keys(obj).length &&
Object.keys(obj).forEach((value) => {
finalFormAPI.change(obj[value],undefined)
})
}
useEffect(() => {
reset(restValues)
},[restValues])
According to @Erik R. / the author
您可以随时调用 form.change('fieldName',undefined) 您想清除该值。
我正在做的是添加一点逻辑以提高代码效率。 因为如果你有很多字段值,你最终会像这样。
form.change('fieldName1',undefined)
form.change('fieldName2',undefined)
form.change('fieldName3',undefined)
form.change('fieldName4',undefined)
and so on..
解决方法
我想我知道为什么了,我返回的是 obj[value]
而不是 value
更新代码
// func to reset field values
const reset = (obj) => {
Object.keys(obj).length &&
Object.keys(obj).forEach((value) => {
finalFormAPI.change(value,undefined)
// I need the value itself not obj[value] or { name: "value"}
})
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。