仅 react-hook-form 重置错误消息

问题描述

我有一些动态字段,它们根据某些挂钩状态被删除/添加我有从列表中删除的字段,但它们的错误仍然可见。我曾尝试 clearErrors,unregister 删除它,但没有任何效果

有可能吗? reset 确实有效,但它也会重置整个表单。

我正在使用 react-hook-form 的 v6,但我无法将其升级到 7。暂时无法实现。

yup 验证器与它一起用于验证。

解决方法

我遇到了同样的问题,这似乎是个错误,如果您尝试取消注册控件,它就不会这样做。这是我的做法。

当您移除控件时,请取消注册并重置特定控件。

 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()]);

这是更多的伪代码,但我希望你明白这个概念。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...