在React中提交表单后如何取消对输入的关注

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在React中提交表单后如何取消对输入的关注相关的知识,希望对你有一定的参考价值。

我正在使用React钩子和样式化组件方法在React中制作一个注册表单组件。我能够制作该组件,但是提交后,在mozilla(开发人员版)中,在所有输入字段上都设置了轮廓。虽然在Chrome中不是这样...

下面是组件样式:

const Input = styled.input`
  outline: none;
  padding: 5px;
  margin-bottom: 10px;
  border-radius: 3px;
  border: none;
  line-height: 1.5rem;
  background-color: #F2F2F2;
  &::placeholder {
    opacity: 0.4;
  }

  &:focus,
  &:active {
  border-color: transparent;
  border-bottom: 2px solid #a3a3a3;
}
`;

如何解决此问题?在上述浏览器中是这样的:

enter image description here

答案

提交表单后,尝试从输入中删除焦点className的条件css className。

样式化的组件CSS:&。hasFocus:focus

输入prop:

初始状态:const [isSubmitted,setIsSubmitted] = React.useState(false);

onSubmit(){...其他代码... setIsSubmitted(true)}

希望这会有所帮助!

以上是关于在React中提交表单后如何取消对输入的关注的主要内容,如果未能解决你的问题,请参考以下文章

使用 redux-form 库在 React 中输入字符后失去对输入字段的关注

用ant-design在react js中提交后清除表单输入字段值

React - 表单提交后清除输入值

Laravel 输入类型搜索取消按钮提交表单

jquery允许取消提交后提交表单

react 之 fetch 登录请求formData提交参数