首页 > 解决方案 > 滚动到 react-final-form querySelector 中的错误第一次不起作用?

问题描述

我需要将滚动添加到表单中的第一个错误。我找到了几个解决方案:

  1. 额外的包裹- 不起作用

  2. 此处讨论的代码

    <FormSpy
      subscription={{ submitFailed: true }}
      onChange={() => {
        const el = document.querySelector('.error')
        if (el) {
            el.scrollIntoView({ behavior: 'smooth' })
        }
      }}
    />
    

我的问题是第二种情况只适用于第二次。在我第一次提交之前errorclassName 还不存在,它只在提交后出现,并且elnull. 但是第二次和下一次它一直有效,如果我不从渲染中删除错误类名。

我该如何解决?

标签: react-final-formfinal-form

解决方案


好的。我在我的项目中发现了一些问题并使工作。第一个问题是这个包只适用于表单提交并且不适用于按钮单击,另一个问题是我的按钮组件没有名称标签,所以我需要添加它。现在它可以工作了


推荐阅读