【发布时间】:2021-02-04 14:23:50
【问题描述】:
这是我的场景,我正在清除除 "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..
【问题讨论】:
-
可能是 const { retainThisObj, ...restValues } = finalFormAPI.values 的问题, ...finalFormAPI.values } ```
-
嗨,你能把你的评论扩大一点吗?基本上我想清除除特定字段之外的所有字段值。顺便说一句,我已经弄清楚并修复了它。
标签: javascript next.js react-final-form final-form