TextFormFields无法获得焦点-颤振

时间:2020-01-29 12:14:24

标签: flutter dart

目前,我正在登录屏幕上。 以下是我的屏幕的工作方式。

  1. 用户有2个登录/注册选项。带有电子邮件或手机号码。
  2. 用户可以从屏幕上提供的选项中选择他们想要登录/注册的方式。
  3. 我的所有TextFormFields均根据用户的选择显示(它们不可见)。

所以,我在这里面临的困难是我的TextFormFields没有按照用户选择集中。默认焦点必须放在手机号码字段上,该字段工作正常,但是当用户选择电子邮件选项时,焦点不会放在电子邮件教科书上,这就是为什么键盘也无法显示的原因。护照文本框也发生了同样的情况,一旦用户输入电子邮件地址,便必须将焦点放在护照上。

我附上了视频链接,以使内容更加清晰。 https://drive.google.com/file/d/1GbOeJhftI4hIkT4RTROoQ1DoYRoWh5gu/view?usp=sharing

以下是所有3个Textform字段的代码。其他两个具有控制器和焦点节点差异的文本字段的代码。

   final emailInputController = TextEditingController();
      final mobileInputController = TextEditingController();
      final passwordInputController = TextEditingController();
      final emailFocusNode = FocusNode();
      final mobileFocusNode = FocusNode();
      final passwordFocusNode = FocusNode();

    TextFormField(
                                        autofocus: true,
                                        focusNode: passwordFocusNode,
                                        onFieldSubmitted: (a) {
                                          _handleSubmittedMobile(a);
                                        },
                                        keyboardType: TextInputType.text,
                                        controller: passwordInputController,
                                        style: TextStyle(
                                          fontSize: 20.0,
                                          color: Theme.of(context)
                                              .primaryColorDark,
                                          fontWeight: FontWeight.bold,
                                        ),
                                        )),
    TextFormField(
                                        autofocus: true,
                                        focusNode: mobileFocusNode,
                                        onFieldSubmitted: (a) {
                                          _handleSubmittedMobile(a);
                                        },
                                        keyboardType: TextInputType.text,
                                        controller: mobileInputController,
                                        style: TextStyle(
                                          fontSize: 20.0,
                                          color: Theme.of(context)
                                              .primaryColorDark,
                                          fontWeight: FontWeight.bold,
                                        ),
                                        )),
    TextFormField(
                                        autofocus: true,
                                        focusNode: emailFocusNode,
                                        onFieldSubmitted: (a) {
                                          _handleSubmittedMobile(a);
                                        },
                                        keyboardType: TextInputType.text,
                                        controller: emailInputController,
                                        style: TextStyle(
                                          fontSize: 20.0,
                                          color: Theme.of(context)
                                              .primaryColorDark,
                                          fontWeight: FontWeight.bold,
                                        ),
                                        )),

我如何实现这项工作?

提前谢谢。

0 个答案:

没有答案