Flutter 未定义名称 WhitelistingTextInputFormatter

mar*_*cks 11 flutter

WhitelistingTextInputFormatter我正在尝试在Flutter 应用程序中使用,TextFormField但我得到

未定义名称 WhitelistingTextInputFormatter

这是我的代码:

child: TextFormField(
         keyboardType: TextInputType.number,
         inputFormatters: [WhitelistingTextInputFormatter.digitsOnly],
         decoration: InputDecoration(labelText: 'Staff Number', hintText: 'enter staff number'),
),
Run Code Online (Sandbox Code Playgroud)

Phi*_* D. 35

即使您已经package:flutter/services.dart导入,在 Flutter 2.8.0 中也已完全弃用。
请检查文档:

@Deprecated(
  'Use FilteringTextInputFormatter.digitsOnly instead. '
  'This feature was deprecated after v1.20.0-1.0.pre.',
)
Run Code Online (Sandbox Code Playgroud)

只需更改WhitelistingTextInputFormatterFilteringTextInputFormatter


小智 9

您能否确认您正在导入:

  import 'package:flutter/services.dart';
Run Code Online (Sandbox Code Playgroud)

在你的文件的开头?

另外,我想这就是你问题的答案:

如何在 Flutter TextField 上使用 InputFormatter?

“在服务库中,您将找到 TextInputFormatter 抽象类(这意味着您必须导入 package:flutter/services.dart)。”