如何实现仅显示数字的键盘,排除操作符及其他符号?
实现纯数字键盘输入
要弹出仅含数字的键盘,只靠inputFormatters过滤输入内容是不够的,还需要设置keyboardType指定键盘样式,两者结合就能满足需求:
- 通过
keyboardType直接指定弹出纯数字键盘,从根源避免显示操作符或其他符号 - 搭配
inputFormatters做双重校验,确保输入内容只能是数字
示例代码:
TextField( // 弹出仅包含0-9的数字键盘,禁用小数点 keyboardType: TextInputType.numberWithOptions(decimal: false), // 自动过滤所有非数字输入,包括粘贴的内容 inputFormatters: [FilteringTextInputFormatter.digitsOnly], )
说明:
TextInputType.numberWithOptions(decimal: false):在主流平台都会触发纯数字键盘,不会出现小数点、加减号这类额外符号FilteringTextInputFormatter.digitsOnly:会拦截所有非数字的输入操作,确保最终输入框内只有数字内容
内容的提问来源于stack exchange,提问作者Renik Shiroya
相关产品推荐
相关产品推荐

