我该如何做出反应渲染呢?
<input
id={field.name}
className="form-control"
type="text"
placeholder={field.name}
autocomplete="off"
{...field}/>
我该如何做出反应渲染呢?
<input
id={field.name}
className="form-control"
type="text"
placeholder={field.name}
autocomplete="off"
{...field}/>
我也尝试了许多选项,但最终要做的是<form>
用<div>
标签替换标签,并手动管理该表单中的每个输入。
Chrome自动完成功能会通过添加new-password属性来关闭。
autoComplete="new-password"
实际操作如下:
<input
type="password"
autoComplete="new-password"
/>
有关以下内容的更多讨论:
大写字母“ C” autoComplete
。在React文档中提到了这一点:
https://facebook.github.io/react/docs/tags-and-attributes.html
如果您已经阅读正确的答案,但仍然遇到此问题(尤其是在Chrome中),欢迎加入俱乐部...因此,请检查我是如何做到的:
<form autoComplete="new-password" ... >
<input name="myInput" type="text" autoComplete="off" id="myInput" placeholder="Search field" />
</form>
笔记
<FormControl/>
标签一起使用(而不是<input/>
)autoComplete =“ none”-为我工作。
我只用一行就解决了:
如果您对“ changeHandler()”和组件状态使用推荐的方式,只需插入:
changeHandler = (e) => {
if (!e.isTrusted) return;
... your code
}
有关该changeHandler()的更多信息-内容:https ://reactjs.org/docs/forms.html#受控组件
根据Mozilla文档,必须设置一个无效值才能真正关闭自动补全功能。在某些浏览器中,即使该属性设置为off,仍会给出自动完成建议。
这对我有用(react-bootstrap):
<FormControl
value={this.state.value}
autoComplete="nope"
{...props}
/>
您应该输入:
autoComplete="new-password"
这将删除自动完成功能
除了@azium的答案外,
<input>
还应将其放在<form>
标签中,然后autoComplete
可以使用