@@ -20,6 +20,7 @@ export type InputPhoneNumberProps = {
2020 countries ?: Country [ ] ;
2121 hasErrors ?: boolean ;
2222 register : UseFormMethods [ 'register' ] ;
23+ setValue : UseFormMethods [ 'setValue' ] ;
2324 errorBannerId ?: string ;
2425} ;
2526
@@ -56,6 +57,7 @@ const InputPhoneNumber = ({
5657 countries = defaultCountries ,
5758 hasErrors = false ,
5859 register,
60+ setValue,
5961 errorBannerId,
6062} : InputPhoneNumberProps ) => {
6163 const ftlMsgResolver = useFtlMsgResolver ( ) ;
@@ -67,7 +69,6 @@ const InputPhoneNumber = ({
6769 localizedCountries . find ( ( country ) => country . id === 1 ) ||
6870 localizedCountries [ 0 ] ;
6971 const [ selectedCountry , setSelectedCountry ] = useState ( defaultCountry ) ;
70- const [ formattedPhoneNumber , setFormattedPhoneNumber ] = useState ( '' ) ;
7172
7273 const localizedLabel = ftlMsgResolver . getMsg (
7374 'input-phone-number-enter-number' ,
@@ -86,7 +87,7 @@ const InputPhoneNumber = ({
8687 const handleInputChange = ( event : React . ChangeEvent < HTMLInputElement > ) => {
8788 const inputValue = event . target . value ;
8889 const formattedValue = formatPhoneNumber ( inputValue ) ;
89- setFormattedPhoneNumber ( formattedValue ) ;
90+ setValue ( 'phoneNumber' , formattedValue ) ;
9091 } ;
9192
9293 // Format the phone number as the user types - for easier review by the user
@@ -168,7 +169,6 @@ const InputPhoneNumber = ({
168169 pattern : selectedCountry . validationPattern ,
169170 } ) }
170171 { ...{ hasErrors } }
171- value = { formattedPhoneNumber }
172172 onChange = { handleInputChange }
173173 aria-describedby = { errorBannerId }
174174 />
0 commit comments