@@ -3580,3 +3580,61 @@ it('should mark sourceMap as undefined when async field error is resolved', asyn
3580
3580
3581
3581
expect ( field . getMeta ( ) . errorSourceMap . onChange ) . toBeUndefined ( )
3582
3582
} )
3583
+
3584
+ it ( 'should reset nested fields' , ( ) => {
3585
+ const defaultValues = {
3586
+ shallow : '' ,
3587
+ nested : {
3588
+ field : {
3589
+ name : '' ,
3590
+ } ,
3591
+ } ,
3592
+ }
3593
+
3594
+ const form = new FormApi ( {
3595
+ defaultValues,
3596
+ } )
3597
+ form . mount ( )
3598
+
3599
+ form . setFieldValue ( 'shallow' , 'Shallow' )
3600
+ form . setFieldValue ( 'nested.field.name' , 'Nested' )
3601
+
3602
+ expect ( form . state . values . shallow ) . toEqual ( 'Shallow' )
3603
+ expect ( form . state . values . nested . field . name ) . toEqual ( 'Nested' )
3604
+
3605
+ form . resetField ( 'shallow' )
3606
+ expect ( form . state . values . shallow ) . toEqual ( '' )
3607
+
3608
+ form . resetField ( 'nested.field.name' )
3609
+ expect ( form . state . values . nested . field . name ) . toEqual ( '' )
3610
+ } )
3611
+
3612
+ it ( 'should preserve nested fields on resetField if defaultValues is not provided' , ( ) => {
3613
+ const defaultValues = {
3614
+ shallow : '' ,
3615
+ nested : {
3616
+ field : {
3617
+ name : '' ,
3618
+ } ,
3619
+ } ,
3620
+ }
3621
+
3622
+ const form = new FormApi ( {
3623
+ defaultState : {
3624
+ values : defaultValues ,
3625
+ } ,
3626
+ } )
3627
+ form . mount ( )
3628
+
3629
+ form . setFieldValue ( 'shallow' , 'Shallow' )
3630
+ form . setFieldValue ( 'nested.field.name' , 'Nested' )
3631
+
3632
+ expect ( form . state . values . shallow ) . toEqual ( 'Shallow' )
3633
+ expect ( form . state . values . nested . field . name ) . toEqual ( 'Nested' )
3634
+
3635
+ form . resetField ( 'shallow' )
3636
+ expect ( form . state . values . shallow ) . toEqual ( 'Shallow' )
3637
+
3638
+ form . resetField ( 'nested.field.name' )
3639
+ expect ( form . state . values . nested . field . name ) . toEqual ( 'Nested' )
3640
+ } )
0 commit comments