Je fais la page de connexion et j'ai réalisé que je ne peux pas définir les valeurs par défaut de l'entrée de mot de passe de type.Control Type !!!
password when rendered thisIsMyDefaultPassword Login.js:51 password when rendered Login.js:51 password when rendered 0346
3 Réponses :
Il existe deux types de composants valorisés (Textfield, Cochez la case, etc.): P>
contrôlé fort> - le composant dont la valeur est contrôlée par la mise en œuvre du code. Dans ce type de composant, vous devez définir non contrôlé fort> - le composant qui a une valeur par défaut et que la valeur peut modifier sans déclenchement / manutention dans le code de composant. Ces composants ont une "valeur par défaut" de la valeur remplie avec la valeur initiale que vous souhaitez attribuer. P>
Dans votre cas, vous devez supprimer Valeur CODE> PROP du composant avec la source de valeur et gérer son
Onchange code> pour obtenir la valeur et la mise à jour de la future source. p>
valeur code> et
defaultValue code> sur le même composant. strong> p>
blockQuote>
par défautValue code> PROP, car vous avez besoin d'un composant contrôlé pour que sa valeur persiste. P>
Mais quand rendu a toujours un mot de passe par défaut ... = [
J'ai essayé toutes les combinaisons individuellement et les deux ensemble.
Supprimez cette chose onfocus sur le mot de passe et réessayez!
Les accessoires de valeur sont trop ici, si vous en débarrassez, vous pouvez modifier l'entrée. De plus, vous fournissez toujours la chaîne "mot de passe" à votre gestionnaire d'Onchange comme valeur. Cela pourrait ne pas être ce que vous voulez faire, mais en utilisant plutôt le mot de passe réel, l'utilisateur est entré.
dans votre méthode de rendu: p>
handleChange = name => event => { this.setState({ password: event.target.value }); };
Hey Man, mon code est exactement le même que celui que vous avez déclaré l'état dans un constructeur. J'ai essayé de faire votre chemin en déclarant que l'état comme une variable dans la classe mais cela n'a pas fonctionné pour moi ..
Ici un conseil: essayez de vous connecter le mot de passe avec console.log. Cela vous aidera à comprendre où est votre problème. J'ajouterais la console.log dans la fonction Handlechange (voir si vous obtenez la valeur correcte là-bas) et dans la fonction de rendu. Surtout, je voudrais juste faire une console.log (this.state) pour voir où des trucs sont enregistrés.
Salut Grenzbotin, j'ai fait un journal de console sur la fonction de rendu, il montre correctement tout ce que j'entraîne sur le terrain, en quelque sorte réagir-bootstrap Jsut qui l'écrase même si j'ai déclaré une valeur par défaut pour être le mot de passe de l'état.
Je vais mettre à jour les journaux que j'ai trouvés dans mon post. grenzbotin
Où écrasez-vous? Pouvez-vous mettre à jour votre code dans le premier message afin de savoir quelles sorties de ligne qui se connectent dans la console? Je n'ai pas vraiment ce que votre problème est le suivant: Ainsi, l'état est mis à jour correctement (vous le voyez dans vos journaux.) Mais que se passe-t-il alors et que devrait-il arriver à la place?
Que faites-vous entre ces journaux de console? Assomption pour la pièce de compensation: il peut être effacé car votre fonction "Onfocus" efface réellement l'état de mot de passe?
Vous avez la même valeur pour defaultvalue code> et
code>, semble que cela n'a pas de sens car si
valeur code> a une valeur, que la valeur sera rendue. Essayez de correspondre par défautValue à une autre valeur ou simplement Supprimer
defaultValue code>.
Votre ONCHANGE fonctionne-t-il? Semble comme non. Êtes-vous implémenté votre
Handlechange code>? Parce que vous utilisez des entrées contrôlées.
Essayez ceci:
mon changement fonctionne, mais je devrais éditer mon code comme ce n'est pas ce que je suis en train d'utiliser .. uhh j'ai essayé toutes les combinaisons par défautValue / valeur / defaultvalue et valeur