You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 23:15:54