La classe de texte de texte Je l'utilise dans un autre fichier p> i cliquez sur le bouton, mais n'a rien obtenu de ce texte. Le résultat d'impression est p> peut-être que c'est la question du cycle de vie, mais je l'ai fait dans le widget, que se passe-t-il? P> P>
3 Réponses :
Peut-être que vous pouvez l'enregistrer dans une variable par exemple par ex_g. puis appelez-le d'une autre classe en créant un objet ou quelque chose p> p> P>
ont utilisé cette variable pour l'enregistrer, mais je ne peux toujours pas l'obtenir, je me demande de cette façon de créer un objet filtré (par nouvelle classe) que ne peut obtenir sa variable créée, si j'entraîne une certaine valeur, à l'intérieur du widget TextFiled, je peux obtenir la valeur d'entrée (le num code> Obtenez l'entrée, mais je ne sais pas comment l'envoyer à l'extérieur, si j'utilise objecteInstance.controller.text code> pour accéder à la valeur, il semble que le widget n'est pas monté
Je pense que vous ne devriez pas créer une nouvelle instance d'INPUTCONTAINER dans l'autre classe de widget, c'est faux.
Le moyen idéal est d'utiliser héritedwidget ou scopedmodel, un fournisseur, mais c'est plus compliqué p>
Vous pouvez essayer de créer un globalkey dans l'autre classe et accéder au contrôleur de texte INPUTContainerinner à partir de là P>
Remarque: modifiez votre _InputContainerinner à INPUTContainerinner P>
//put this inside your class widget, where u declare all the variables
final GlobalKey<InputContainerInner> containerKey;
Widget build(BuildContext context) {
return Scaffold(
body: new Column(
children: <Widget>[
//import the inputContainer class
InputContainer(),
new MaterialButton(
onPressed: () {
print(widget.containerKey.currentState.controller.text);
print(widget.containerKey.currentState.controller.input.num);
}
)
]
)
J'ai essayé votre réponse, le mot de passe .Containerkey code> est [labeledglobalkey . >, le résultat est null code>, donc je me demande s'il s'agit de la question du cycle de vie du widget. Sinon, j'utilise ScopedModel pour enregistrer l'entrée et obtenir la valeur d'entrée en dehors du widget.
Je vois, merci. Étant donné que l'utilisation de ScopedModel fonctionne, je suppose que vous pouvez rester en utilisant. L'autre solution que je peux penser à définir votre contrôleur de texte au type statique, puis y accéder directement.
J'ai besoin de réutiliser la classe Textfield, de sorte que l'instance devrait avoir son propre contrôleur, merci
exemple complet strong> p> xxx pré> Obtenir la valeur de TextFormfield P> blockQuote>
chaîne texte = enchaîteaddresscontroller.text.tostring (), p> blockquote>
J'ai utilisé votre chemin dans mon code initial et je ne peux pas obtenir la valeur d'entrée, alors je pose cette question, HH