@@ -2,7 +2,7 @@ import React from 'react';
22
33import _ from 'lodash' ;
44
5- import { isArraySpec , isObjectSpec , isReact18OrMore } from '../../../helpers' ;
5+ import { isArraySpec , isNumberSpec , isObjectSpec , isReact18OrMore } from '../../../helpers' ;
66import { Spec } from '../../../types' ;
77import { OBJECT_ARRAY_CNT , OBJECT_ARRAY_FLAG , REMOVED_ITEM } from '../constants' ;
88import {
@@ -95,7 +95,11 @@ export const useField = <Value extends FieldValue, SpecType extends Spec>({
9595 setState ( ( state ) => {
9696 const _value = _ . isFunction ( valOrSetter ) ? valOrSetter ( state . value ) : valOrSetter ;
9797 const error = validate ?.( _value ) ;
98- const value = transformArrIn ( _value ) ;
98+ let value = transformArrIn ( _value ) ;
99+
100+ if ( isNumberSpec ( spec ) && value && ! error ) {
101+ value = Number ( value ) as Value ;
102+ }
99103
100104 let newChildErrors : Record < string , ValidateError > = { ...state . childErrors } ;
101105
@@ -141,7 +145,7 @@ export const useField = <Value extends FieldValue, SpecType extends Spec>({
141145 } ;
142146
143147 return { onChange, onDrop} ;
144- } , [ initialValue , setState , name , validate ] ) ;
148+ } , [ initialValue , setState , name , validate , spec ] ) ;
145149
146150 const onBlur = React . useCallback ( ( ) => {
147151 setState ( ( state ) => ( {
0 commit comments