使用正则过滤的方式来限制

新版方法

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';
TextField(
//只允许输入字母
inputFormatters: [
WhitelistingTextInputFormatter(RegExp("[a-zA-Z]")),
],
),
//只允许输入数字
TextField(
inputFormatters: [WhitelistingTextInputFormatter.digitsOnly],
),
//只允许输入小数
TextField(
inputFormatters: [
WhitelistingTextInputFormatter(RegExp("[0-9.]")),
],