React 不会关闭自动完成功能

IT技术 html reactjs google-chrome
2021-03-26 00:32:46

我如何让react渲染它?

<input
    id={field.name}
    className="form-control"
    type="text"
    placeholder={field.name}
    autocomplete="off"
    {...field}/>
6个回答

大写“C” autoCompleteReact 文档中提到了这一点:

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

我理解您为什么会这么认为,但请记住,这些 JSX 标签会被转译为带有表示标签类型的字符串的函数调用。
2021-05-25 00:32:46
总是抛出异常,而不仅仅是默默地忽略错误。
2021-06-01 00:32:46
而且,这不是错误,因为 props 可以是任何东西.. React 如何知道您何时创建自己的 prop 或使用 html 属性?
2021-06-01 00:32:46
@Yaroslav React 可能会为此发出警告,否则将github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/...
2021-06-02 00:32:46
道具不能是 html 标签的任何东西。
2021-06-22 00:32:46

你应该把:

autoComplete="new-password"

这将删除自动完成

我真的不明白为什么这会起作用而不是“关闭”。奇怪的。
2021-05-25 00:32:46
你是传奇,谢谢!这也是有道理的,我希望我的新密码字段不被自动完成:D
2021-06-12 00:32:46
@Pim 有道理。谢谢!
2021-06-16 00:32:46
2021-06-17 00:32:46
可能 chrome 正在识别new名称中的 。我现在命名它autoComplete="new-off",如果它不是密码字段并且它工作正常对我来说更有意义:D
2021-06-17 00:32:46

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

这对我有用(react引导):

<FormControl
  value={this.state.value}
  autoComplete="nope"
  {...props}
/>
哇,这很奇怪,但这是迄今为止唯一对我有用的方法。
2021-06-01 00:32:46
@Pim嗯是相同的autocompleteautofill因为它对我使用 Chrome 不起作用。它会不断使用以前发送的值自动填充表单。
2021-06-05 00:32:46

如果您已阅读正确答案但仍有此问题(尤其是在 Chrome 中),欢迎来到俱乐部...所以请检查我是如何完成的:

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

笔记

  • 表单不一定需要是输入元素的直接父元素
  • 输入需要一个名称属性
  • 它也适用于 React-Bootstrap<FormControl/>标签(而不是<input/>
感谢您的反馈,但您的案例是否勾选了所有 3 个项目符号?
2021-06-01 00:32:46
在某些情况下,我仍然会收到有关此问题的自动建议。有关更完整的解决方案,请参阅我的答案。
2021-06-02 00:32:46
它不起作用。我正在尝试使用 Chrome 67。什么都没有。我仍然需要一个带显示的假输入:无!太疯狂了!
2021-06-16 00:32:46

autoComplete="none" - 对我有用。

欢迎亚历克斯。尝试更详细地回答您的问题。由于“autoComplete”的大小写,强调您的解决方案有效很重要。
2021-06-09 00:32:46