标签:== input double class oat select textfield orm default
的Flutter的TextField中,我们可以通过设置inputFormatters来过滤和限制输入的内容。
下面是一个自定义的 TextInputFormatter,可以限制用户只能输入有效的整数和小数。
// 只允许输入小数 class _UsNumberTextInputFormatter extends TextInputFormatter { static const defaultDouble = 0.001; static double strToFloat(String str, [double defaultValue = defaultDouble]) { try { return double.parse(str); } catch (e) { return defaultValue; } } @override TextEditingValue formatEditUpdate(TextEditingValue oldValue, TextEditingValue newValue) { String value = newValue.text; int selectionIndex = newValue.selection.end; if (value == ".") { value = "0."; selectionIndex++; } else if (value != "" && value != defaultDouble.toString() && strToFloat(value, defaultDouble) == defaultDouble) { value = oldValue.text; selectionIndex = oldValue.selection.end; } return new TextEditingValue( text: value, selection: new TextSelection.collapsed(offset: selectionIndex), ); } }
[Flutter] TextField 中只允许输入合法的小数
标签:== input double class oat select textfield orm default
原文地址:https://www.cnblogs.com/yangyxd/p/9639588.html