The method ‘WhitelistingTextInputFormatter‘ isn‘t defined for the type ‘XXXXX‘.

The method 'WhitelistingTextInputFormatter' isn't defined for the type 'XXXXX'.

首先,在服务库中,你会发现TextInputFormatter抽象类(这意味着你必须导入包:flutter/services.dart)。

import 'package:flutter/services.dart';

以前是BlacklistingTextInputFormatter和WhitelistingTextInputFormatter。该功能在v1.20.0-1.0.pre版本后已弃用”,现在变为FilteringTextInputFormatter和LengthLimitingTextInputFormatter。

旧版方法

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
 TextField(
    //只允许输入字母
      inputFormatters: [
        WhitelistingTextInputFormatter(RegExp("[a-zA-Z]")),
      ],
   ),
   //只允许输入数字
    TextField(
      inputFormatters: [WhitelistingTextInputFormatter.digitsOnly],
   ),
   //只允许输入小数
   TextField(
     inputFormatters: [
       WhitelistingTextInputFormatter(RegExp("[0-9.]")),
     ],-

新方法:

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

 TextField(
    //只允许输入数
      inputFormatters: [
       FilteringTextInputFormatter.allow(RegExp("[0-9.]")),
       
      ],
   ),
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
/*only allow a to Z*/
 TextField(
   FilteringTextInputFormatter.allow(RegExp('[a-zA-Z]')
   ],
   ),

//禁止abF!.

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

inputFormatters: [
      FilteringTextInputFormatter.deny(RegExp('[abF!.]')
              ),
            ],

允许输入大小写字母,但是禁止abF!.

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
inputFormatters: [     
                 FilteringTextInputFormatter.allow(RegExp('[a-zA-Z]')),
                 FilteringTextInputFormatter.deny(RegExp('[abFeG]')),
             
            ],

猜你喜欢

转载自blog.csdn.net/qq_43336158/article/details/123831526