11import React from 'react' ;
22import { mount } from 'enzyme' ;
3+ import type { FormInstance } from '../src' ;
34import Form , { Field } from '../src' ;
45import timeout from './common/timeout' ;
56import InfoField , { Input } from './common/InfoField' ;
67import { changeValue , matchError , getField } from './common' ;
78
89describe ( 'Form.Dependencies' , ( ) => {
910 it ( 'touched' , async ( ) => {
10- let form = null ;
11+ const form = React . createRef < FormInstance > ( ) ;
1112
1213 const wrapper = mount (
1314 < div >
14- < Form
15- ref = { instance => {
16- form = instance ;
17- } }
18- >
15+ < Form ref = { form } >
1916 < InfoField name = "field_1" />
2017 < InfoField name = "field_2" rules = { [ { required : true } ] } dependencies = { [ 'field_1' ] } />
2118 </ Form >
@@ -27,13 +24,13 @@ describe('Form.Dependencies', () => {
2724 matchError ( getField ( wrapper , 1 ) , false ) ;
2825
2926 // Trigger if touched
30- form . setFields ( [ { name : 'field_2' , touched : true } ] ) ;
27+ form . current ?. setFields ( [ { name : 'field_2' , touched : true } ] ) ;
3128 await changeValue ( getField ( wrapper , 0 ) , '' ) ;
3229 matchError ( getField ( wrapper , 1 ) , true ) ;
3330 } ) ;
3431
3532 describe ( 'initialValue' , ( ) => {
36- function test ( name , formProps , fieldProps = { } ) {
33+ function test ( name : string , formProps = { } , fieldProps = { } ) {
3734 it ( name , async ( ) => {
3835 let validated = false ;
3936
@@ -68,16 +65,12 @@ describe('Form.Dependencies', () => {
6865 } ) ;
6966
7067 it ( 'nest dependencies' , async ( ) => {
71- let form = null ;
68+ const form = React . createRef < FormInstance > ( ) ;
7269 let rendered = false ;
7370
7471 const wrapper = mount (
7572 < div >
76- < Form
77- ref = { instance => {
78- form = instance ;
79- } }
80- >
73+ < Form ref = { form } >
8174 < Field name = "field_1" >
8275 < Input />
8376 </ Field >
@@ -94,7 +87,7 @@ describe('Form.Dependencies', () => {
9487 </ div > ,
9588 ) ;
9689
97- form . setFields ( [
90+ form . current ?. setFields ( [
9891 { name : 'field_1' , touched : true } ,
9992 { name : 'field_2' , touched : true } ,
10093 { name : 'field_3' , touched : true } ,
0 commit comments