flutter - 如何限制 flutter 中的两个点?

标签 flutter dart

我需要限制用户何时输入 1.. 像这样。我正在使用文本输入表单字段。我需要像 1.23 这样的带有十进制输入文本格式器的输入

最佳答案

我们可以创建自己的 TextInputFormatter .

检查这个

import 'package:flutter/services.dart';

class DecimalTextInputFormatter extends TextInputFormatter {
  @override
  TextEditingValue formatEditUpdate(TextEditingValue oldValue, TextEditingValue newValue) {
    final regEx = RegExp(r"^\d*\.?\d*");
    String newString = regEx.stringMatch(newValue.text) ?? "";
    return newString == newValue.text ? newValue : oldValue;
  }
}

用法:
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: FirstPage(),
      debugShowCheckedModeBanner: false,
    );
  }
}

class FirstPage extends StatefulWidget {
  @override
  _FirstPageState createState() => _FirstPageState();
}

class _FirstPageState extends State<FirstPage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: TextField(
          inputFormatters: [DecimalTextInputFormatter()],
        ),
      ),
    );
  }
}

关于flutter - 如何限制 flutter 中的两个点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59531323/

相关文章:

dart - Flutter:AnimatedContainer- child 小部件的属性未设置动画

firebase - 如何在 Flutter 中获取嵌套 firebase 数据的所有子数据?

flutter - 重新触发淡入淡出过渡

flutter - 从StreamBuilder <DocumentSnapshot>和一个子StreamBuilder获取有效值

dart - ListView.builder 不显示任何内容 - Flutter

Flutter:预定的通知日期时间

flutter - flutter Bottom Sheet 变化宽度

ios - 抖动错误: Getter not found : 'iMobileDevice' when trying to rebuild Flutter tool

dart - 如何在 Dart 中增加字体大小

function - 如何使用flutter和firebase实时数据库发送fcm通知