我有一个带有控制器的Textfield,所以我可以从中获取数据。
但是,当我通过单击按钮创建输入时如何做呢?例如,我创建了10个文本字段,如何从中获取数据?
感谢您的回答,但您不了解我,我不能只是手动创建控制器,一旦单击它,便有了一个按钮,新的文本字段已创建,我可以根据需要多次单击它例如可以是100倍,因此,如果可能,我需要以编程方式进行。
谢谢
答案 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;
....
}