我需要一个只有数字(没有小数点符号)的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],
)

10-08 17:56