更新(2023/12/05):
我通过将keyboardType
设置为TextInputType.visiblePassword
修复了它
此问题是否有任何更新Flutter TextField value always uppercase & debounce?
我已经尝试了一些代码,使输入文本成为文本。
class UpperCaseTextFormatter extends TextInputFormatter {
@override
TextEditingValue formatEditUpdate(TextEditingValue oldValue, TextEditingValue newValue) {
return TextEditingValue(
text: newValue.text.toUpperCase(),
selection: newValue.selection,
);
}
}
个字符
但是当我输入“QWER”时,它不正确,它总是变成“QQWQWEQWER”。
TextFormField(
controller: _controller,
inputFormatters: [
UpperCaseTextFormatter(),
],
decoration: InputDecoration(
border: OutlineInputBorder(),
),
),
型
视频来源:https://drive.google.com/file/d/1q3dwuVMPzt_kBP4c2lyiahQ6znkSbM-n/view?usp=sharing
我不喜欢使用textCapitalization
,因为如果格式化程序不工作,用户仍然可以将其更改为textCapitalization
。
使用TextInputFormatter使文本字段输入变为文本字段
2条答案
按热度按时间yfwxisqw1#
您可以使用TextEditingController使用户输入始终大写,使用下面的代码,用户无法将其更改为小写。
字符串
这将工作快乐编码!
rsaldnfx2#
1.将控制器分配给TextField。
1.在
onChanged
函数中用toUpperCase()
转换控制器中的文本值:字符串