如何在Flutter中获取文本字段数据

时间:2019-07-30 13:22:26

标签: flutter dart

我有一个带有控制器的Textfield,所以我可以从中获取数据。
但是,当我通过单击按钮创建输入时如何做呢?例如,我创建了10个文本字段,如何从中获取数据?

感谢您的回答,但您不了解我,我不能只是手动创建控制器,一旦单击它,便有了一个按钮,新的文本字段已创建,我可以根据需要多次单击它例如可以是100倍,因此,如果可能,我需要以编程方式进行。

谢谢

3 个答案:

答案 0 :(得分:1)

编辑:添加了有关访问每个控制器中文本的内容

您可以尝试保留List中的TextEditingControllers

按下按钮后,您将向TextEditingController添加新的List,然后创建控制器将连接到的新TextField

然后获取每个控制器的内容只需遍历List并访问控制器的text成员。

请记住,您将必须在小部件的List方法中浏览dispose,并调用其dispose方法。

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)
}

答案 1 :(得分:0)

在按下方法中:

(){
    //this will get the last input that user entered in the textfield
   String data = _myController.text;

    if(data.isEmpty) 
      //do something 
      }

答案 2 :(得分:0)

final controllerOne= TextEditingController();
final controllerTwo= TextEditingController();


TextFiledOne(
controller: controllerOne,
....
);

TextFiledTwo(
controller: controllerTwo,
....
);


onPressed(){
 String dataOne = controllerOne.text;
 String dataTwo = controllerTwo.text;
....
}