99 votes

Réagir ne rend pas l'auto-complétion

Comment puis-je faire réagir le rendre?

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

183voto

azium Points 11023

Capital "C" autoComplete . Ceci est mentionné dans la documentation de React:

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

81voto

JpCrow Points 1073

Vous devriez mettre:

 autoComplete="new-password"
 

Cela supprimera la saisie semi-automatique

8voto

w3jimmy Points 524

Si vous avez lu la bonne réponse et que vous rencontrez toujours ce problème (en particulier dans Chrome), bienvenue au club ... alors vérifiez comment je l'ai accompli:

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

Remarques

  • le formulaire n'a pas nécessairement besoin d'être le parent direct de l'élément d'entrée
  • l'entrée a besoin d'un attribut name
  • cela fonctionne aussi avec React-Bootstrap <FormControl/> tag ( au lieu de <input/> )

1voto

Monsoir Points 7

En plus de la réponse de @ azium, <input> devrait être placé entre les balises <form> , puis autoComplete fonctionne

0voto

Marcel Ennix Points 1

Je l'ai résolu avec une seule ligne:

Si vous utilisez la méthode recommandée avec "changeHandler ()" et l'état des composants, insérez simplement:

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

Plus d'infos sur ce changeHandler () - Thing:
https://reactjs.org/docs/forms.html#controlled-components

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X