我正在我的 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 和移动应用程序开发。提前致谢!
| 归档时间: |
|
| 查看次数: |
4866 次 |
| 最近记录: |