我正在创建一个动态的表单,每次我点击添加创建一个新的元素,它一直工作得很好,直到现在.

  • 我点击了一个保存按钮,我正在获取所有数据,需要 做进一步的处理.
  • 当我单击保存时,我正在使用React-hook-form进行验证.
  • 因此,第一次当字段为空时,我单击保存,它会显示错误(字段不能为空)
  • 然后,当我在输入字段中输入时,它不是接受我按下的第一个字符,而是接受第二个字符.
  • 当我在输入一个单词后按Backspace时也会发生同样的情况,最后一个字符没有被删除.

What I am doing

  • 下面是我的零钱,我考了三分,e,index and name

     const handleInputChange = (e, index, name) => {
     const { value } = e.target;
     console.log(name);
     const list = [...inputList];
     list[index][name] = value;
     setInputList(list);};
    
  • 我的Html

     < input
       type = "text"
       placeholder = "Display Name"
       name = {
         `employees[${i}].firstName`
          }
       className = {
         errors.employees &&
         errors.employees[i] &&
         errors.employees[i].firstName ?
         'form-control error_input' :
         'form-control'
       }
       onChange = {
         (e) => handleInputChange(e, i, 'firstName')
      }
        value = {
         li.firstName
         }
       ref = {
      register({
         required: 'First Name is required',
      })
    }
    

    /&gt;

The issue

  • 当输入字段为空时,第一次点击Save.

  • 输入Test--第一次不需要按两次t

  • 输入测试后,按Backspace删除它将删除TES,但要删除T,需要按两次.

我只是想知道是什么问题,我写的代码我想我没有遗漏任何东西.

My working code

推荐答案

在一些研究之后,我改变了 将Value={li.FirstName}转换为defaultValue={li.firstName} 而且它似乎奏效了:)

此处链接以供参考 why is first letter dead in react-hook-form input

Javascript相关问答推荐

在JavaScript中,是否有一种方法可以创建自定义thable,在等待某些代码后自动触发它?

如何在NightWatch.js测试中允许浏览器权限?

Next.js Next/Image图像隐含性有任何类型-如何修复?

是什么原因导致此Angular 16电影应用程序中因类型错误而不存在属性?

在页面上滚动 timeshift 动垂直滚动条

数字时钟在JavaScript中不动态更新

如何从网站www.example.com获取表与Cheerio谷歌应用程序脚本

在open shadow—root中匹配时,使用jQuery删除一个封闭的div类

可更改语言的搜索栏

Rxjs流中生成IMMER不能在对象上操作

变量在导入到Vite中的另一个js文件时成为常量.

以编程方式聚焦的链接将被聚焦,但样式不适用

令牌JWT未过期

匹配一个或多个可选重复的特定模式

FileReader()不能处理Firefox和GiB文件

在查看网页时,如何使HTML中的按钮工作方式类似于鼠标上的滚轮或箭头键?

如何组合Multer上传?

在渲染turbo流之后滚动到元素

每隔3个项目交替显示,然后每1个项目交替显示

如何在Reaction中设置缺省值, Select 下拉列表,动态追加剩余值?