0
votes

Comment changer l'état d'un autre bouton à l'improviste

J'ai 2 boutons qui, si pressés, changez leur couleur de fond. Si j'appuie les deux, ils changent tous les deux de couleur d'arrière-plan. Je voudrais commuter la couleur d'arrière-plan entre les deux (par exemple, si j'appuie sur une, l'autre remonte à l'état d'origine) Comment puis-je réaliser cela? ` xxx


1 commentaires

Devraient-ils tous les deux changer toujours leur couleur ou seulement si l'un des boutons a la couleur "active"?


3 Réponses :


0
votes

De ce que j'ai compris, vous voulez changer les couleurs des deux boutons lors de la cliquant une seule. Une façon de le faire pourrait être: xxx

ou vous pouvez même appeler l'autre fonction dans la fonction elle-même. Comme: xxx

espérons que cela aide.


3 commentaires

Salut, merci pour la réponse. Cependant, ce que j'essaie d'atteindre, c'est de changer que la couleur d'arrière-plan, un bouton à l'heure et ne pas avoir changé à la fois. Par exemple, si je passe sur le bouton 1, il change d'arrière-plan. Maintenant, si je appuyez également sur le bouton 2, je voudrais que le bouton 1 redevienne sur le premier arrière-plan et le bouton 2 pour changer d'arrière-plan. Je ne veux pas avoir les deux boutons montrant à la fois un fond changé à la fois.


Vous pouvez utiliser SetColor1 (FALSE) dans la fonction OnClick2 ()? Donc, chaque fois que cela fonctionne, il garantit que la première couleur de bouton est réinitialisée.


Merci. Comment puis-je implémenter exactement cela? Désolé, je suis un débutant.



0
votes

Vous avez essentiellement besoin de logique conditionnelle pour vérifier si l'autre bouton est actif. Vous pouvez le faire comme ceci: xxx

voici un Codepen pour que vous puissiez l'essayer.


3 commentaires

Heureux d'aider :-)


Comment puis-je aussi changer de couleur de police de manière dynamique?


Fondamentalement le même principe que avec la couleur. Mettez à jour les fonctions de bascule avec votre méthode de SSTATE pour la couleur de la police et dans le style PROP, ajoutez un autre chèque de police. Ils doivent fonctionner exactement de la même manière que la fonctionnalité de couleur, vous devez donc seulement copier la logique.



1
votes

J'espère que cela vous aide. Sinon, laissez-moi savoir.

Ma solution est assez désordonnée et pas vraiment bon code. J'espère que cela peut vous donner une idée. Une idée différente est que vous pouvez utiliser useref pour marquer la référence actuelle de la couleur du bouton. De là, SSTATE conditionnellement basé sur ces réfs

Aussi, vous devez vérifier votre code à nouveau. Vous devez utiliser usestate (faux) pas "false" xxx

puis transmettez-le comme ceci: xxx


0 commentaires