如何在Flutter中获取TextField值

时间:2018-08-11 06:19:17

标签: android ios flutter

您好,我在拍打动作中创建了注册屏幕。我想在onPressed的{​​{1}}中获取电子邮件和密码。

有人知道如何扑扑吗?

FlatButton

6 个答案:

答案 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);
}

快乐编码。