当前位置: 首页 > news >正文

flutter TextField限制中文,ios自带中文输入法变英文输入问题解决

        由于业务需求,要限制TextField只能输入中文,但是测试在iOS测试机发现自带中文输入法会变英文输入问题,安卓没有问题,并且只有iOS自带输入法有问题,搜狗等输入法没问题。我们目前使用flutter2.5.3版本,高版本应该不存在这个问题。

        TextField限制中文代码片段:

TextField(inputFormatters: [FilteringTextInputFormatter.allow(RegExp('[a-zA-Z]|[\u4e00-\u9fa5]|[0-9]')),],
)

        解决方案,自定义过滤器:

//自定义过滤器
class CustomizedTextInputFormatter extends TextInputFormatter {final Pattern filterPattern;CustomizedTextInputFormatter({this.filterPattern}): assert(filterPattern != null);@overrideTextEditingValue formatEditUpdate(TextEditingValue oldValue,TextEditingValue newValue,) {if (newValue.isComposingRangeValid) return newValue;return FilteringTextInputFormatter.allow(filterPattern).formatEditUpdate(oldValue, newValue);}
}
TextField(inputFormatters: [//使用自定义过滤器,限制中文输入CustomizedTextInputFormatter(filterPattern: RegExp("[a-zA-Z]|[\u4e00-\u9fa5]|[0-9]"),),],
),

       

http://www.lryc.cn/news/461427.html

相关文章:

  • ThreadLocal的应用场景
  • Python--plt.errorbar学习笔记
  • 文件信息类QFileInfo
  • 堆排序(C++实现)
  • Qt中加入UI文件
  • Redisson使用全解
  • Go4 和对 Go 的贡献
  • 区间动态规划
  • 什么情况下需要使用电压探头
  • 数据结构——八大排序(下)
  • Linux系统:Ubuntu上安装Chrome浏览器
  • Redis位图BitMap
  • YOLOv11改进策略【卷积层】| ParNet 即插即用模块 二次创新C3k2
  • 学习threejs,网格深度材质MeshDepthMaterial
  • 算法时间、空间复杂度(二)
  • 高级java每日一道面试题-2024年10月11日-数据库篇[Redis篇]-Redis都有哪些使用场景?
  • 0047__【python打包分发工具】setuptools详解
  • 自定义拦截器处理token
  • Scrapy | 使用Scrapy进行数据建模和请求
  • 学习笔记——交换——STP(生成树)基本概念
  • 机器学习笔记-2
  • SpringSecurity(一)——认证实现
  • VMWare NAT 模式下 虚拟机上不了网原因排查
  • R语言手工实现主成分分析 PCA | 奇异值分解(svd) 与PCA | PCA的疑问和解答
  • 第三届OpenHarmony技术大会在上海成功举办
  • 数字化:IT部门主导还是业务部门主导?
  • MySQL表的基本查询下/分组聚合统计
  • 条款3: 理解decltype
  • TCP:过多的TIME_WAIT
  • 化学元素分子量、氧化物系数计算python类