@@ -131,7 +131,8 @@ const PhoneInput = forwardRef(({
131131
132132 const setFieldValue = useCallback ( ( value : PhoneNumber ) => {
133133 if ( formInstance ) formInstance . setFieldValue ( namePath , value ) ;
134- } , [ formInstance , namePath ] )
134+ setValue ( getFormattedNumber ( getRawValue ( value ) , pattern ) ) ;
135+ } , [ formInstance , namePath , pattern , setValue ] )
135136
136137 const onKeyDown = useCallback ( ( event : KeyboardEvent < HTMLInputElement > ) => {
137138 onKeyDownMaskHandler ( event ) ;
@@ -174,12 +175,14 @@ const PhoneInput = forwardRef(({
174175 const metadata = getMetadata ( rawValue ) ;
175176 // Skip if value has not been updated by `setFieldValue`.
176177 if ( ! metadata ?. [ 3 ] || rawValue === getRawValue ( value ) ) return ;
177- const formattedNumber = getFormattedNumber ( rawValue , metadata ?. [ 3 ] as string ) ;
178+ let pattern = metadata ?. [ 3 ] || "" ;
179+ if ( disableParentheses ) pattern = pattern . replace ( / [ ( ) ] / g, "" ) ;
180+ const formattedNumber = getFormattedNumber ( rawValue , pattern ) ;
178181 const phoneMetadata = parsePhoneNumber ( formattedNumber ) ;
179182 setFieldValue ( { ...phoneMetadata , valid : ( strict : boolean ) => checkValidity ( phoneMetadata , strict ) } ) ;
180183 setCountryCode ( metadata ?. [ 0 ] as string ) ;
181184 setValue ( formattedNumber ) ;
182- } , [ phoneValue , value , setFieldValue , setValue ] )
185+ } , [ phoneValue , value , disableParentheses , setFieldValue , setValue ] )
183186
184187 useEffect ( ( ) => {
185188 if ( initiatedRef . current ) return ;
@@ -281,7 +284,7 @@ const PhoneInput = forwardRef(({
281284 return (
282285 < div className = { `${ prefixCls } -phone-input-wrapper` }
283286 ref = { node => setMinWidth ( node ?. offsetWidth || 0 ) } >
284- < Space . Compact >
287+ < Space . Compact size = { antInputProps ?. size || "middle" } >
285288 { dropdownRender ( countriesSelect ) }
286289 < Input
287290 ref = { ref }
0 commit comments