我需要一个只有数字(没有小数点符号)的numberInputKeyboard。我已经尝试过keyboardType: TextInputType.numberWithOptions(decimal: false)
,但这仍然无济于事
最佳答案
一个答案建议使用BlacklistingTextInputFormatter
,它在您的英语语言环境中肯定可以使用。但是,这可能不适用于使用,
而不是.
作为十进制分隔符的其他语言环境。
因此,我建议使用 WhitelistingTextInputFormatter
:
import "package:flutter/services.dart";
TextFormField(
keyboardType: TextInputType.number,
inputFormatters: [WhitelistingTextInputFormatter.digitsOnly],
)
这将只允许数字[0-9]
。更新:
WhitelistingTextInputFormatter
已重命名!以下是最新版本,不再被 FilteringTextInputFormatter.allow
弃用,并且还提供了数字的快捷方式:import "package:flutter/services.dart";
TextFormField(
keyboardType: TextInputType.number,
inputFormatters: [FilteringTextInputFormatter.digitsOnly],
)