用于输入时间的 Flutter TextField
Flutter TextField for input time
正如我在标题中所写,我想创建一个特定的 TextField 来输入时间。
更深入地说,我希望用户只输入 4 位数字,该字段会自动显示类似 12:23 的内容,因此该字段会自动插入“:”字符。
空的 TextField 将不显示任何内容。
当用户输入数字时,TextField 将显示:1 --> 12 --> 12:2 --> 12:23
我试过控制器,但我无法达到我的目的。
有人可以帮助我吗?
谢谢,祝你愉快
https://pub.dev/packages/flutter_multi_formatter
自定义格式
TextFormField(
keyboardType: TextInputType.number,
inputFormatters: [
MaskedInputFormatter('##:##'))
],
),
试试这个
TextFormField(
controller: _controller,
maxLength: 5,
onChanged: (value){
if(_controller.text.length==2){
_controller.text = _controller.text + ":";
}
},
),
我解决了使用两个由“:”分隔的容器,所有容器都在一个父容器中。我将小时和分钟保存到两个不同的变量中。
正如我在标题中所写,我想创建一个特定的 TextField 来输入时间。 更深入地说,我希望用户只输入 4 位数字,该字段会自动显示类似 12:23 的内容,因此该字段会自动插入“:”字符。
空的 TextField 将不显示任何内容。 当用户输入数字时,TextField 将显示:1 --> 12 --> 12:2 --> 12:23 我试过控制器,但我无法达到我的目的。 有人可以帮助我吗?
谢谢,祝你愉快
https://pub.dev/packages/flutter_multi_formatter
自定义格式
TextFormField(
keyboardType: TextInputType.number,
inputFormatters: [
MaskedInputFormatter('##:##'))
],
),
试试这个
TextFormField(
controller: _controller,
maxLength: 5,
onChanged: (value){
if(_controller.text.length==2){
_controller.text = _controller.text + ":";
}
},
),
我解决了使用两个由“:”分隔的容器,所有容器都在一个父容器中。我将小时和分钟保存到两个不同的变量中。