You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter的TextField输入全为大写(输入小写也无效)该如何适配用户输入?

解决方案

这个现象由TextField自带大写转换规则、系统键盘自动大写逻辑或上层全局主题配置导致,按以下步骤修改即可让输入内容和用户实际输入保持一致:

  • 给每个TextField显式指定textCapitalization: TextCapitalization.none,关闭组件自带的大写转换。该属性默认值虽为none,但部分场景会被全局主题覆盖,显式指定优先级更高
  • 搭配关闭键盘自动校正与自动建议功能,避免系统键盘主动转换输入内容:设置autocorrect: false、enableSuggestions: false
  • 若项目全局配置了TextField的TextInputFormatter,检查是否存在强制转大写的格式化逻辑,可针对当前输入框单独移除或调整规则

修改后完整代码示例

TextField(
  textCapitalization: TextCapitalization.none,
  autocorrect: false,
  enableSuggestions: false,
  decoration: const InputDecoration(
    border: OutlineInputBorder(), 
    hintText: 'Enter Thee Name '
  ),
),
SizedBox(
  height: 12,
),
TextField(
  textCapitalization: TextCapitalization.none,
  autocorrect: false,
  enableSuggestions: false,
  // 密码输入框建议额外添加该行隐藏输入内容,也可避免部分系统键盘对密码的自动大写处理
  obscureText: true,
  decoration: const InputDecoration(
    border: OutlineInputBorder(),
    hintText: 'Enter Thee PassWord '
  ),
)

异常效果参考

异常效果展示图


内容的提问来源于stack exchange,提问作者Kavach Dheer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 19:27:07