Flutter:(iOS) 电子邮件地址的文本表单字段自动将名称大写

EGi*_*son 5 ios dart flutter

行为视频

我正在我的 flutter 应用程序中实现一个基本的登录屏幕,但我遇到了一个非常烦人的问题。我的电子邮件地址是lastName.firstName@....并且毫无疑问,只要我输入“.” 在我的姓氏之后,它会自动将第一个字母大写。我已经用其他一些名称进行了测试,似乎它发生在某些名称上,而没有发生在其他名称上。我的文本表单字段小部件定义为:

TextFormField(
  controller: _email,
  keyboardType: TextInputType.emailAddress,
  textCapitalization: TextCapitalization.none,
  decoration: InputDecoration(labelText: 'email'),
),
Run Code Online (Sandbox Code Playgroud)

这只是操作系统控制的还是可以修复的?我只在 iOS sim 中尝试过,但我假设该行为在实际设备上是相似的。

如果没有明确的解决方案,是否有人知道解决方法?

我尝试将小部件更改为:

TextField(
  controller: _email,
  keyboardType: TextInputType.emailAddress,
  textCapitalization: TextCapitalization.none,
  decoration: InputDecoration(labelText: 'email'),
  onChanged: (value){
    _email.text = value.toLowerCase();
  }
)
Run Code Online (Sandbox Code Playgroud)

这种方法确实有效,但看起来很hacky。当我输入“.”时,它弄乱了光标位置,并且偶尔会卡在闪烁的文本中。抱歉,如果这是一个非常基本的问题,我刚刚开始接触 Flutter 和移动应用程序开发。提前致谢!

Ala*_*era 6

你一定认识一个名叫简的人;该字段会自动更正。添加

autocorrect: false,
Run Code Online (Sandbox Code Playgroud)

到您的电子邮件文本字段。