【发布时间】:2020-08-11 22:43:59
【问题描述】:
当 react-phone-number-input 使用这个 npm 包时,如果用户输入不在列表中的其他国家/地区,我希望允许有限的国家/地区显示在下拉列表中,它会显示错误不允许这个国家/地区没有我限制国家/地区的道具
【问题讨论】:
标签: javascript reactjs
当 react-phone-number-input 使用这个 npm 包时,如果用户输入不在列表中的其他国家/地区,我希望允许有限的国家/地区显示在下拉列表中,它会显示错误不允许这个国家/地区没有我限制国家/地区的道具
【问题讨论】:
标签: javascript reactjs
【讨论】:
构建一个自定义的国家数组,然后使用 libphonenumber-js 库中的 parseNumber 函数,从用户输入的数字中获取国家代码并与您的国家列表进行比较
【讨论】:
要实现这一点,首先要创建要在下拉列表中显示的国家/地区列表。然后根据需要在 Blur 上运行验证。
const whitelisted_conutries = ['WS', 'SB', 'TK', 'TO', 'TV', 'VU', 'WF', 'HK']:
然后像这样将它传递给PhoneInput的国家属性,
import { isValidPhoneNumber } from 'react-phone-number-input';
<PhoneInput
defaultCountry="GB"
flagUrl={'https://flag.pk/flags/4x3/{xx}.svg'}
countries={whitelist}
value={phone}
onChange={(phone) => setState({ phone })}
onBlur={() =>
setState({
hasEnterPhone: true,
error: {
...error,
phone: !phone
? ''
: !isValidPhoneNo(phone) &&
'Please enter a valid mobile phone number.',
},
})
}
/>
【讨论】: