【问题标题】:Flutter TextInputType.number is not forcing a number only keyboardFlutter TextInputType.number 不强制使用仅数字键盘
【发布时间】:2019-08-16 09:15:04
【问题描述】:

我不明白我在这里缺少什么。我将 TextInputType 设置为数字,仍然可以输入任何字母、特殊字符甚至表情符号。我还尝试让孩子成为 TextInputType.numberWithOptions() 小部件,它会打开同一个键盘。这只是我手机上的一个错误吗? P20 专业版

      Row(
          children: <Widget>[
            Text('TextInputType.number:'),
            Flexible(
                child: TextField(
              maxLength: 3,
              keyboardType: TextInputType.number,
            )),
          ],
        )

【问题讨论】:

  • keyboardType: TextInputType.number 正在为我显示数字键盘。尝试再次卸载并重新安装该应用程序。也尝试使用其他键盘,然后使用 SwiftKey。

标签: flutter


【解决方案1】:

老年人抑郁时使用这个

maxLength: 10,
inputFormatters: [
   // only accept letters from 0 to 9
   FilteringTextInputFormatter(RegExp(r'[0-9]'), allow: true)
   // Using for Text Only ==>    (RegExp(r'[a-zA-Z]'))
],
keyboardType: TextInputType.number,

【讨论】:

    【解决方案2】:

    anmol.majhail's 答案中的上述方法自 Flutter 2.0 起已弃用。 Flutter 建议从 WhitelistingTextInputFormatter.* 转移到 FilteringTextInputFormatter.*。因此,为了在 Flutter 2.0 应用程序中实现相同的效果,请遵循以下代码摘录中的示例。

    TextField(
      maxLength: 3,
      inputFormatters: <TextInputFormatter>[
        FilteringTextInputFormatter.digitsOnly,
      ],
      keyboardType: TextInputType.number,
    ),
    

    【讨论】:

      【解决方案3】:

      仅启用数字 - 您需要添加 - inputFormatters: 还添加 - keyboardType: 将无法单独使用。

      代码:

      TextField(
                maxLength: 3,
                inputFormatters: <TextInputFormatter>[
                  WhitelistingTextInputFormatter.digitsOnly,
                ],
                keyboardType: TextInputType.number,
              ),
      

      【讨论】:

      • 这确实使得该字段只接受数字,但键盘仍然完全打开,我可以按任何字符。这肯定是一个改进,但我真的希望它像this number only keyboard 一样打开
      • @MilesAdamson - 你能在不同的手机或模拟器上试一试,看看会出现什么键盘。
      • 看来这是我的手机 P20 Pro 的问题。它可以在其他手机上按预期工作,它们的键盘只有数字。但是您添加 WhitelistingTextInputFormatter 仍然很棒,谢谢
      猜你喜欢
      • 1970-01-01
      • 2021-09-25
      • 2014-05-07
      • 1970-01-01
      • 1970-01-01
      • 2016-03-23
      • 2014-11-26
      • 2018-07-29
      • 2011-06-12
      相关资源
      最近更新 更多