phone_form_field
Flutter 手机输入,集成了 Flutter 国际化。
特点
- 完全跨平台,这是一个仅Dart的包/依赖
- 国际化支持,没有包含所有翻译的臃肿json文件。
- 电话号码验证
- 扩展Flutter的FormField
- 使用dart phone_numbers_parser进行解析
演示
演示地址:https://cedvdb.github.io/phone_form_field/

用法
PhoneFormField(
initialValue: phoneNumber,
autofocus: true,
decoration: InputDecoration(
labelText: 'Phone',
border: OutlineInputBorder(),
// ...
),
onChanged: (p) => setState(() => phoneNumber = p!),
onSaved: (p) => setState(() => phoneNumber = p),
phoneNumberType: null, // could be PhoneNumberType.mobile or phoneNumberType.fixed for more specific validation
),
国际化
包含委托
return MaterialApp(
localizationsDelegates: [
...GlobalMaterialLocalizations.delegates,
PhoneFieldLocalization.delegate
],
supportedLocales: [
const Locale('en', ''),
const Locale('es', ''),
const Locale('fr', ''),
const Locale('ru', ''),
// ...
],
就这些了。
内置了许多语言
- 'ar',
- 'de',
- 'en',
- 'es',
- 'fr',
- 'hin',
- 'it',
- 'nl',
- 'pt',
- 'ru',
- 'zh',
如果目标语言未被支持,您可以提交包含assets/translation中翻译文件的pull request