0
votes

Flutter obtenir la valeur sélectionnée du menu déroulant d'une autre classe

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é: xxx


2 commentaires

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.


3 Réponses :


0
votes

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.

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.


1 commentaires

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.



0
votes

Il y a une approche différente dépend de votre installation d'arborescence de widget
1- Fonction de rappel:
au cas où si votre widget est directement connecté à votre état d'appauvre d'état
Forfaits de fournisseur 2:
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.


4 commentaires

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 {} la classe home étend stitfulwidget {}


Cela pourrait vous aider digitalOcean.com/community/tatudials/... vous peut le réparer avec une fonction de rappel



0
votes

Vous pouvez transmettre la valeur d'une page à une autre à l'aide de la navigation Essayez-la.


2 commentaires

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.