Flutter处理来自其他小部件的输入文本字段

时间:2018-11-01 11:44:05

标签: dart flutter

我正在使用GeekyAnts的Flutter登录首页动画。您可以在以下位置找到它: https://github.com/GeekyAnts/flutter-login-home-animation

我无法处理在字段中输入的用户名和密码值,因为这些字段是通过名为FormContainer的小部件从登录页面调用的,该小部件包含另外两个名为InputFieldArea的小部件。 在TextFormField中使用onChanged时,我不知道如何使这些值到达父LoginPage类。

您能帮助我了解如何处理登录页面中的字段更改以使登录生效吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

使用Retrieve the value of a text field中所述的id

TextEditingController将控制器作为构造函数参数,您可以通过类似的构造函数将其向下传递给TextFormField

InputFieldArea

将控制器存储在class InputFieldArea extends StatelessWidget { final TextEditingController controller; final bool obscureText; // ... const InputFieldArea({Key key, this.controller, this.obscureText}) : super(key: key); @override Widget build(BuildContext context) { return Container( color: Colors.orange, // ... child: TextFormField( controller: controller, obscureText: obscureText, // ... ), ); } } 中非常重要,这样,如果出于某种原因重新构建了小部件,则不会重新创建控制器:

State

还要签出shrine login demo