gpt4 book ai didi

flutter - 如何:在TextFormField中键入时,每4个字符后添加一个空格

转载 作者:行者123 更新时间:2023-12-03 04:34:12 29 4
gpt4 key购买 nike

我试图找到一种方法,在键入TextFormField时添加空格。
我找到了一种方法来执行此操作,但是无论我在Google上还是在StackOverflow上搜索,现在都找不到。
基本上我想将文本字段中显示的文本从000011112222333变为0000 1111 2222 3333我猜我需要在RegExponChanged函数中使用一些TextFormField检查,并使用它来更改TextEditingController.text

最佳答案

我之前也遇到过这个问题,很幸运地找到了一种在某处进行此操作的方法。
首先创建一个扩展TextInputFormatter的类
customInputFormatter.dart

class CustomInputFormatter extends TextInputFormatter {
@override
TextEditingValue formatEditUpdate(TextEditingValue oldValue, TextEditingValue newValue) {
var text = newValue.text;

if (newValue.selection.baseOffset == 0) {
return newValue;
}

var buffer = new StringBuffer();
for (int i = 0; i < text.length; i++) {
buffer.write(text[i]);
var nonZeroIndex = i + 1;
if (nonZeroIndex % 4 == 0 && nonZeroIndex != text.length) {
buffer.write(' '); // Replace this with anything you want to put after each 4 numbers
}
}

var string = buffer.toString();
return newValue.copyWith(
text: string,
selection: new TextSelection.collapsed(offset: string.length)
);
}
}
然后将其添加到TextFormField的inputFormatters []列表中
inputFormatters: [
FilteringTextInputFormatter.digitsOnly,
new CustomInputFormatter()
],

关于flutter - 如何:在TextFormField中键入时,每4个字符后添加一个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64386172/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com