child: new TextFormField(
maxLength:5,
controller:
TextEditingController(text: donation.date),
onChanged: (value) {
donation.date = value;
},
decoration: InputDecoration(
suffixText: '',
suffixStyle: TextStyle(
color: Color(0xffde0486),
),
labelText: 'Expiry Date',
border: OutlineInputBorder(),
),
keyboardType: TextInputType.number,
textInputAction: TextInputAction.done,
style: TextStyle(color: Colors.white),
autofocus: true,
),
我有一段信用卡代码,我正在Flutter中实现。我想把mm/yy格式的文本字段。当用户输入月份时,文本字段应自动显示“/”。我该怎么做?
4条答案
按热度按时间guicsvcw1#
您可以使用
onChange
方法获得您的结果。您可以检查输入的长度,如果是2,则在文本中插入'/',即dd1.你需要将控制器存储在一个单独的变量中,因为我们想在以后插入'/'时使用它:
1.将此
_controller
和onChange
回调添加到TextFormField
:enyaitl32#
您可以尝试使用这个软件包flutter_multi_formatter来格式化Expiration Date字段和信用卡号字段。
arknldoa3#
更新!我刚找到一个包:flutter_masked_text2可以帮助您解决问题!
nfg76nw04#
这不是最好的,但它帮助了我。
未设置
inputFormatters
,因为显示将变得奇怪。希望这对你有帮助。