【问题标题】:react-hook-form reset errors messages onlyreact-hook-form 仅重置错误消息
【发布时间】:2021-08-18 01:55:35
【问题描述】:
我有一些动态字段,它们会根据一些钩子状态被删除/添加。我有从列表中删除的字段,但它们的错误仍然可见。我已尝试clearErrors, unregister 将其删除,但没有任何效果。
有可能吗? reset 确实有效,但它也会重置整个表单。
我正在使用react-hook-form 的 v6,我无法将其升级到 7。目前不适合。
yup 验证器正在与它一起用于验证。
【问题讨论】:
标签:
reactjs
typescript
yup
react-hook-form
【解决方案1】:
我遇到了同样的问题,似乎是错误,如果您尝试取消注册控件,它不会这样做。这里我是怎么做的。
当您删除控件时,请取消注册并重置特定控件。
const handleRemoveRow = (control) => {
//all code logic and stuff
//................
unregister(control);
reset({ [control]: undefined });
};
在 useEffect 钩子之后假设你有一个主要的表单状态,重新分配值。
useEffect(() => {
const keyValue = getValues();
keyValues.map(({controlName,Value}) => {
setValue(controlName, Value);
});
}, [getValues()]);
这是一个伪代码,但我希望你明白这个概念。