输入框输入时,需要将小写字母自动转大写,给 TextField 加一个 inputFormatters
iPhone 上有个问题,输入中文会产生连续很多字母(就是说这种情况输入不了中文),所以加了底下 这句代码


class UpperCaseTextFormatter extends TextInputFormatter {
  @override
  TextEditingValue formatEditUpdate(TextEditingValue oldValue, TextEditingValue newValue) {
    /// 判断当前输入框是否存在未完成的字符串
    if (newValue.isComposingRangeValid) return newValue; /// ①
    return TextEditingValue(
      text: newValue.text.toUpperCase(),
      selection: newValue.selection,
    );
  }
}


TextField(
  inputFormatters: [UpperCaseTextFormatter()]
)
最后修改:2022 年 01 月 27 日
如果觉得我的文章对你有用,请随意赞赏或留下你的评论~