Erreur : "Multiples heroes"

Hello à tous, je poste une petite résolution de problème sur laquelle je me suis arraché les cheveux un moment… pour vous évitez le perdre autant de cheveux que moi sur le sujet :

J’avais l’erreur suivante :

There are multiple heroes that share the same tag within a subtree.

De mon côté le problème venait du fait que j’avais ajouté 2 FloatingActionButton sur une même page. Pour que ceci fonctionne il faut renseigner la propriété herotag pour chacun d’eux et bien sur donner un tag différent :

FloatingActionButton(
                heroTag: "btn1",
                ...
              ),
              FloatingActionButton(
                heroTag: "btn2,
             ....
              ),saisissez ou collez du code ici
1 « J'aime »

Humm… Effectivement c’est bon à savoir mais du coup à quoi servent les HeroTag selon toi ? :slightly_smiling_face:

Aucune idée Antonin ! Si tu le sais, ca m’intéresse de savoir :wink:

Alors du coup, c’est pour ça que je te posais la question ahah. Mais d’après ce que je vois sur la doc et quelques explications en vidéo, un Hero sert à identifier un widget entre plusieurs route. Exemple dans cette vidéo : Flutter Tutorial - Hero Widget [2022] - YouTube

C’est donc pour ça que tu ne peut pas avoir un deux heroTag identique sur une même route, sinon Flutter ne sait pas quoi faire. Comme expliquer dans la doc heroTag property - FloatingActionButton class - material library - Dart API

Les FloatingActionButton ont par default un heroTag, ce qui veut dire que par default il est recommandé de n’utiliser qu’un seul FloatingActionButton par route :slight_smile:

4 messages ont été scindés en un nouveau sujet : Flutter : créer un bouton rond à partir d’un ElevatedButton