React不会渲染自动完成功能

我该如何做出反应渲染呢?

<input
    id={field.name}
    className="form-control"
    type="text"
    placeholder={field.name}
    autocomplete="off"
    {...field}/>
老丝猿阿飞2020/03/16 10:05:40

除了@azium的答案外,<input>还应将其放在<form>标签中,然后autoComplete可以使用

十三Itachi2020/03/16 10:05:40

我也尝试了许多选项,但最终要做的是<form><div>标签替换标签,并手动管理该表单中的每个输入。

GilGilPro2020/03/16 10:05:40

Chrome自动完成功能会通过添加new-password属性来关闭。

autoComplete="new-password"

实际操作如下:

<input            
type="password"
autoComplete="new-password"
/>

有关以下内容的更多讨论:

Chrome自动完成讨论

西门达蒙2020/03/16 10:05:40

大写字母“ C” autoComplete在React文档中提到了这一点:

https://facebook.github.io/react/docs/tags-and-attributes.html

小哥猿2020/03/16 10:05:40

如果您已经阅读正确的答案,但仍然遇到此问题(尤其是在Chrome中),欢迎加入俱乐部...因此,请检查我是如何做到的:

<form autoComplete="new-password" ... >
        <input name="myInput" type="text" autoComplete="off" id="myInput" placeholder="Search field" />
</form>

笔记

  • 形式不一定是输入元素的直接父代
  • 输入需要名称属性
  • 它也可以与React-Bootstrap <FormControl/>标签一起使用(而不是<input/>
飞云小卤蛋2020/03/16 10:05:40

autoComplete =“ none”-为我工作。

Davaid阳光伽罗2020/03/16 10:05:40

我只用一行就解决了:

如果您对“ changeHandler()”和组件状态使用推荐的方式,只需插入:

changeHandler = (e) => {    
  if (!e.isTrusted) return;
  ... your code
}

有关该changeHandler()的更多信息-内容:https ://reactjs.org/docs/forms.html#受控组件

小小仲羽2020/03/16 10:05:40

根据Mozilla文档,必须设置一个无效值才能真正关闭自动补全功能。在某些浏览器中,即使该属性设置为off,仍会给出自动完成建议。

这对我有用(react-bootstrap):

<FormControl
  value={this.state.value}
  autoComplete="nope"
  {...props}
/>
小胖宝儿2020/03/16 10:05:39

您应该输入:

autoComplete="new-password"

这将删除自动完成功能