简体   繁体   English

Flutter:我的控制器显示在剩余的输入字段中

[英]Flutter: My controller is showing in the remaining input fields

After extracting the method of my textformfield widget, I want to add controller to it using the TextEditingController,the issue is how to placed it in each fields but i have extracted it all to a method, but if I type anything it shows for all the input fields:提取我的 textformfield 小部件的方法后,我想使用 TextEditingController 向它添加控制器,问题是如何将它放置在每个字段中,但我已将其全部提取到一个方法中,但如果我输入任何它显示的所有内容输入字段:

This is the signup part where I am trying to use the controller, but i kept it below这是我尝试使用控制器的注册部分,但我将其保留在下面

Container buildSignupSection() {
     return Container(
       margin: EdgeInsets.only(top: 30),
       child: Form(
         key: _signUpFormKey,
         child: Column(
           children: [
             buildTextField(
               "xpresschop",
               "Name",
               true,
               false,
               false,
             ),
             buildTextField(
               "example@gmail.com",
               "email",
               false,
               false,
               true,
             ),
             buildTextField(
               "......",
               "password",
               false,
               true,
               false,
             ),
             buildTextField(
               "......",
               "Confirm password",
               false,
               true,
               false,
             ),
           ],
         ),
       ),
     );
   }

How will i add it here我将如何在此处添加它

Widget buildTextField(String hintText, String labelText, bool isName,
      bool isPassword, bool isEmail) {
    return Padding(
      padding: const EdgeInsets.only(bottom: 10.0),
      child: Column(
        children: [
          TextFormField(
              controller: ,
            autocorrect: isAutoCorrect,
            obscureText: isPassword,
   

Add different controller to each textfield, u can pass controller as parameter to buildTextField method为每个文本字段添加不同的控制器,您可以将控制器作为参数传递给 buildTextField 方法

 var nameController = TextEditingController();
 ...
 buildTextField( "xpresschop", "Name", true, false, false, nameController)
 ...

then your widget would be:那么你的小部件将是:

Widget buildTextField(String hintText, String labelText, bool isName,
      bool isPassword, bool isEmail, TextEditingController myController) {
    return 
......
          TextFormField(
              controller:myController ,
....

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM