@@ -3640,7 +3640,7 @@ it('should mark sourceMap as undefined when async field error is resolved', asyn
3640
3640
expect ( field . getMeta ( ) . errorSourceMap . onChange ) . toBeUndefined ( )
3641
3641
} )
3642
3642
3643
- it ( 'should reset nested fields' , ( ) => {
3643
+ it ( 'should reset nested object fields' , ( ) => {
3644
3644
const defaultValues = {
3645
3645
shallow : '' ,
3646
3646
nested : {
@@ -3668,6 +3668,35 @@ it('should reset nested fields', () => {
3668
3668
expect ( form . state . values . nested . field . name ) . toEqual ( '' )
3669
3669
} )
3670
3670
3671
+ it ( 'should reset nested array fields' , ( ) => {
3672
+ const defaultValues = {
3673
+ shallow : '' ,
3674
+ nested : {
3675
+ arr : [ { name : '' } , { test : 'array-test' } ] ,
3676
+ } ,
3677
+ }
3678
+
3679
+ const form = new FormApi ( {
3680
+ defaultValues,
3681
+ } )
3682
+ form . mount ( )
3683
+
3684
+ form . setFieldValue ( 'shallow' , 'Shallow' )
3685
+ form . setFieldValue ( 'nested.arr[0].name' , 'nested-arr' )
3686
+ form . setFieldValue ( 'nested.arr[1].test' , 'array-test-changed' )
3687
+
3688
+ expect ( form . state . values . shallow ) . toEqual ( 'Shallow' )
3689
+ expect ( form . state . values . nested . arr [ 0 ] ?. name ) . toEqual ( 'nested-arr' )
3690
+ expect ( form . state . values . nested . arr [ 1 ] ?. test ) . toEqual ( 'array-test-changed' )
3691
+
3692
+ form . resetField ( 'shallow' )
3693
+ expect ( form . state . values . shallow ) . toEqual ( '' )
3694
+
3695
+ form . resetField ( 'nested.arr[0].name' )
3696
+ expect ( form . state . values . nested . arr [ 0 ] ?. name ) . toEqual ( '' )
3697
+ expect ( form . state . values . nested . arr [ 1 ] ?. test ) . toEqual ( 'array-test-changed' )
3698
+ } )
3699
+
3671
3700
it ( 'should preserve nested fields on resetField if defaultValues is not provided' , ( ) => {
3672
3701
const state = {
3673
3702
shallow : '' ,
0 commit comments