Je veux obtenir la valeur actuellement sélectionnée dans le menu déroulant dans une autre classe de mon application Web Flutter. Comme la variable DropdownValue est locale, il n'est pas utilisable en dehors du cadre de sa classe.
Voici ce que j'ai essayé:
3 Réponses :
Je suppose que cela dépend d'où se trouve l'autre classe dans votre arbre de widget. S'il s'agit du parent de votre DPWidget, je transmettrais une méthode de rappel de la classe mère à votre widget et l'utiliserait comme rappel à l'autre. Pas besoin d'utiliser plus de SSTATE. De cette façon, vous pouvez utiliser l'enveloppe DropdownSe pour modifier l'état dans la classe mère. P>
Sinon, je recommanderais d'utiliser le package du fournisseur pour modifier l'état ailleurs dans votre arborescence de widget. Avec un fournisseur, vous pouvez écouter les modifications de l'état où que vous sachiez et réagissez comme vous le souhaitez. P>
Pouvez-vous me référer à n'importe quel exemple de travail de «Passez une méthode de rappel de la classe parente à votre widget et utilisez-le comme rappel tangué»? Ce serait d'une grande aide.
Il y a une approche différente dépend de votre installation d'arborescence de widget
au cas où si votre widget est directement connecté à votre état d'appauvre d'état
Si vos widgets ne sont pas directement connectés pour éviter d'utiliser beaucoup de rappels, ce forfait vous aidait à appeler certains dans ce fournisseur et d'avertir tous les widgets qui écoutent cette classe de fournisseur. P>
L'autre classe n'est pas dans l'arborescence du widget.
c'est une classe de widget?
Les autres classes où je veux que la valeur sélectionnée de la liste déroulante ressemble à ceci: classe _homestate s'étend sur l'état
Cela pourrait vous aider digitalOcean.com/community/tatudials/... vous peut le réparer avec une fonction de rappel
Vous pouvez transmettre la valeur d'une page à une autre à l'aide de la navigation Essayez-la. P>
Fondamentalement, je veux un bouton de recherche dont la sortie varie en fonction de l'élément sélectionné dans le menu déroulant.
Ouais, c'est ce que je dis que je ne dis que simplement passer l'élément sélectionné à la page suivante.
Cette autre classe a-t-elle besoin d'accès à une valeur de valeur sélectionnée de ce widget?
@Claudioredi: Oui, je veux que l'autre classe reçoive la valeur mise à jour lorsque l'utilisateur modifie le menu déroulant.