Кто-нибудь сталкивался с тем, что Flutter TextFormField keyboardType в последнее время не работает должным образом? - PullRequest
1 голос
/ 01 августа 2020

Кто-нибудь недавно сталкивался с какими-либо проблемами с типом клавиатуры Flutter?

Я пытаюсь использовать TextInputType.emailAddress в TextFormField. У него есть собственный контроллер.

Знак электронной почты '@' и другие специальные символы не могут быть выбраны.

 TextFormField(
                      controller: _loginController,
                      autocorrect: false,
                      //cursorColor: scaffoldFontColor,
                      style: TextStyle(color: scaffoldFontColor),
                      keyboardType: TextInputType.emailAddress,
                      textAlign: TextAlign.left,
                      onChanged: (value) {
                        email = value;
                      },
                      decoration: InputDecoration(
                        hintText: 'E-mail address',
                      ),
                      validator: (value) {
                        if (value.isEmpty || !value.contains('@')) {
                          return 'Invalid email address';
                        }
                      },
                    ),

Я запускал и перезапускал приложение несколько раз раз.

Может ли это быть проблема с iOS или Flutter внутри?

Я не могу напрямую войти в учетные записи сейчас.

1 Ответ

0 голосов
/ 01 августа 2020
TextFormField(
      key: _emailKey,
      keyboardType: TextInputType.emailAddress,
      textInputAction: TextInputAction.done,
      autofocus: true,
      validator: (val) {
        if (val.trim().isEmpty) {
          return "Enter Email Address";
        } else if (!TextUtils.isValidEmail(val)) {
          return "Enter valid email address";
        } else {
          email = val;
        }
        return null;
      },
      onFieldSubmitted: (val) {
        if (_emailKey.currentState.validate()) {
          _emailKey.currentState.save();
          email));
        }
      },
      onSaved: (val) {
        email = val;
      },
      decoration: InputDecoration(
        border: OutlineInputBorder(),
        hintText: 'E-Mail',
      ),
    );

Попробуйте!

...