您好,我在拍打动作中创建了注册屏幕。我想在onPressed
的{{1}}中获取电子邮件和密码。
有人知道如何扑扑吗?
FlatButton
答案 0 :(得分:19)
在TextEditingController
类中将State
创建为全局变量,并将其设置到TextField
小部件中。
TextEditingController emailController = new TextEditingController();
....
TextField(
controller: emailController,
obscureText: true,
textAlign: TextAlign.left,
decoration: InputDecoration(
border: InputBorder.none,
hintText: 'PLEASE ENTER YOUR EMAIL',
hintStyle: TextStyle(color: Colors.grey),
),
)
现在您可以使用:
emailController.text
答案 1 :(得分:4)
另一个更方便(我认为)的方法是在将包含String的TextField类内添加“ onChanged”属性
String enteredText .... TextField( onChanged: (newText) { enteredText = newText; },
答案 2 :(得分:1)
TextEditingController emailController = new TextEditingController(); .... TextField( controller: emailController, obscureText: true, textAlign: TextAlign.left, decoration: InputDecoration( border: InputBorder.none, hintText: 'PLEASE ENTER YOUR EMAIL', hintStyle: TextStyle(color: Colors.grey), ), ) emailController.text
答案 3 :(得分:1)
在构建方法之前制作 TextEditingController。
dplyr
然后在 TextField 中,像这样传递控制器:
TextEditingController yourControllerName = new TextEditingController();
假设你想在文本中访问它,像这样访问它:
TextField(
controller: yourNameController,
// your extra stuff
)
谢谢,我希望它有效!!!
答案 4 :(得分:0)
每当用户更改字段中的文本时,文本字段就会调用onChanged
回调。如果用户指示他们已经完成了在该字段中的键入操作(例如,通过按下软键盘上的按钮),则该文本字段将调用onSubmitted
回调。
使用此回调,我们可以设置instance variables
并在提交按钮的onPress
上使用这些变量。
答案 5 :(得分:0)
首先,您必须像下面这样在类下全局声明TextEditingController
:
TextEditingController textEditController = new TextEditingController();
然后,您必须将其分配给TextField
controller
,如下所示:
TextField(
controller: textEditController,
),
现在您可以通过如下所示的按钮单击方法获得该值:
void testingMethod() {
print(textEditController.text);
}
快乐编码。