【问题标题】:Formatting react-intl-tel-input after flag change标志更改后格式化 react-intl-tel-input
【发布时间】:2022-06-17 14:59:08
【问题描述】:

我正在尝试在更改国家/地区时更新电话号码输入格式以匹配国家/地区格式。当我最初输入数字时,它会根据当前选择的国家/地区进行格式化,但是当我更改为不同的国家/地区时,格式会保持为所选的原始国家/地区的格式,并且不会调整为新选择的格式。

我尝试触发 useState 更改,但它没有更新布尔格式。

下面是我的代码的 IntlTelInput

              format={true}
              fieldName="phone"
              inputClassName="checkout__input"
              onPhoneNumberChange={onChange}
              onSelectFlag={handleSelectFlag}
              defaultValue = {defaultPhone}

            />

以及 onChange 和 handleSelectFlag 函数

    if(isValid) {
      validatedParentNumber = fullNumber.replace(/\s|-/g, '')
      setValue("phone", validatedParentNumber);
      setIntlError(false);
      clearErrors('phone');
      let dial = selectedCountryData.dialCode;
      userCountryCode = `+${dial}`;
    } else {
      setIntlError(true);
      setValue("phone", null)
    }
  };

  const handleSelectFlag: IntlTelInputProps['onSelectFlag'] = (currentNumber, seletedCountryData, fullNumber, isValid) => {
    if(isValid) {
      let updatedIntlNum = fullNumber.replace(/\s|-/g, '')
      let dial = seletedCountryData.dialCode;
      userCountryCode = `+${dial}`;
      setValue("phone", updatedIntlNum)
      setIntlError(false);
      clearErrors('phone');
    } else {
      setIntlError(true);
      setValue("phone", null)
    }
  };

【问题讨论】:

    标签: reactjs typescript intl-tel-input


    【解决方案1】:

    您想让separateDialCode 支持true 来处理onSelectFlag 事件。

    【讨论】:

      猜你喜欢
      • 2019-05-28
      • 2020-09-24
      • 2021-04-10
      • 2019-06-24
      • 1970-01-01
      • 2016-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多