问题描述
我将 intl_phone_field 添加到我的 Flutter 应用程序中。它完美地工作。我用的是 2.0.1 版本。
我是这样写的;
IntlPhoneField(
decoration: Inputdecoration(
labelText: "Phone Number",labelStyle: TextStyle(
fontSize: 14.0,),hintStyle: TextStyle(
color: Colors.grey,fontSize: 10.0,initialCountryCode: 'US',//default country code
onChanged: (phone) {
//when phone number country code is changed
print(phone.completeNumber); //get complete number
print(phone.countryCode); // get country code only
print(phone.number); // only phone number
},
好像是下面这张图。正如他们的开发人员在更新日志中提到的那样,他们添加了几个国家/地区的电话号码的最大长度。所以正如我在下面的图片中用红色箭头显示的那样,有一个长度字段。
电话号码长度因国家/地区而异。所以我的问题是,例如对于这张图片,我如何检查输入的 10/10 数字字符?
解决方法
访问这个值有点棘手,但你可以:
除了 intl_phone_field.dart
:
import 'package:intl_phone_field/countries.dart';
然后:
IntlPhoneField(
...
onChanged: (phone) {
print(countries.firstWhere((element) => element['code'] == phone.countryISOCode)['max_length']);
},),