Flutter如何从InternationalPhoneNumberInput组件获取输入的手机号?
获取InternationalPhoneNumberInput的输入值
你可以通过onInputChanged回调参数里的PhoneNumber对象获取用户输入的手机号相关信息,这个对象包含了完整号码、国家代码和本地号码等核心字段:
phoneNumber:带国家代码的完整手机号码(例如+8613800138000)dialCode:当前选择的国家拨号代码(例如+86)number:用户输入的本地号码部分(例如13800138000)
修改你的代码片段,直接从回调中读取这些值:
padding: const EdgeInsets.all(8.0), child: InternationalPhoneNumberInput( onInputChanged: (PhoneNumber value) { // 获取完整号码 String fullNumber = value.phoneNumber ?? ''; // 获取本地号码 String localNumber = value.number ?? ''; // 获取国家拨号代码 String dialCode = value.dialCode ?? ''; // 根据业务需求使用这些值,比如打印调试或存入状态变量 print('完整号码: $fullNumber'); print('本地号码: $localNumber'); print('国家代码: $dialCode'); }, ),
如果是在StatefulWidget中,可将值存入状态变量以便后续业务逻辑使用:
class _YourPageState extends State<YourPage> { String? _fullPhoneNumber; @override Widget build(BuildContext context) { return Padding( padding: const EdgeInsets.all(8.0), child: InternationalPhoneNumberInput( onInputChanged: (PhoneNumber value) { setState(() { _fullPhoneNumber = value.phoneNumber; }); }, ), ); } }
内容的提问来源于stack exchange,提问作者Ark
相关产品推荐
相关产品推荐

