J'ai un champ de texte qui a un contrôleur afin que je puisse attraper des données de celui-ci.
Mais comment puis-je le faire lorsque je crée une entrée par un bouton Cliquez, par exemple, j'ai créé 10 champs de texte comment puis-je obtenir des données d'eux? P>
Merci pour vos réponses mais vous ne me avez pas compris, je ne peux pas simplement créer des contrôleurs manuellement, j'ai un bouton une fois que j'ai cliqué sur un nouveau champ de texte est créé, je peux cliquer dessus autant de fois que je le veux Peut être 100 fois par exemple, à cause de cela, je dois le faire de manière programmatique si cela est possible.
P>
merci p>
3 Réponses :
in sur la méthode pressée:
(){
//this will get the last input that user entered in the textfield
String data = _myController.text;
if(data.isEmpty)
//do something
}
final controllerOne= TextEditingController();
final controllerTwo= TextEditingController();
TextFiledOne(
controller: controllerOne,
....
);
TextFiledTwo(
controller: controllerTwo,
....
);
onPressed(){
String dataOne = controllerOne.text;
String dataTwo = controllerTwo.text;
....
}
EDIT: strong> Lignes ajoutés sur l'accès au texte à l'intérieur de chaque contrôleur Vous pouvez essayer de garder une liste code> de Lorsque vous appuyez sur le bouton, vous ajouterez un nouveau puis pour obtenir le contenu de chaque contrôleur, il suffit d'itérer via la liste code> et accédez au texte code> membre code> du contrôleur. P> N'oubliez pas que vous devrez passer à travers cette liste de TextEditControls p > TextEditController code> à la liste code>, puis créez le nouveau Textfield code> que le contrôleur sera connecté à. p> code> dans votre Disposer code> de votre widget et appelez leur Disposer code> Méthodes. P > final List<TextEditingController> _controllers = []
void onButtonPress() {
TextEditingController newController = TextEditingController()
_controllers.push(newController)
// Make new TextField and use the new controller in it
// Then figure out how to add the new TextField to your state (probably using setState)
}
Je pense que vous vouliez dire .Ajouter () pas .Push ()