1
1
import React from 'react' ;
2
2
import { mount } from 'enzyme' ;
3
+ import type { FormInstance } from '../src' ;
3
4
import Form , { Field } from '../src' ;
4
5
import timeout from './common/timeout' ;
5
6
import InfoField , { Input } from './common/InfoField' ;
6
7
import { changeValue , matchError , getField } from './common' ;
7
8
8
9
describe ( 'Form.Dependencies' , ( ) => {
9
10
it ( 'touched' , async ( ) => {
10
- let form = null ;
11
+ const form = React . createRef < FormInstance > ( ) ;
11
12
12
13
const wrapper = mount (
13
14
< div >
14
- < Form
15
- ref = { instance => {
16
- form = instance ;
17
- } }
18
- >
15
+ < Form ref = { form } >
19
16
< InfoField name = "field_1" />
20
17
< InfoField name = "field_2" rules = { [ { required : true } ] } dependencies = { [ 'field_1' ] } />
21
18
</ Form >
@@ -27,13 +24,13 @@ describe('Form.Dependencies', () => {
27
24
matchError ( getField ( wrapper , 1 ) , false ) ;
28
25
29
26
// Trigger if touched
30
- form . setFields ( [ { name : 'field_2' , touched : true } ] ) ;
27
+ form . current ?. setFields ( [ { name : 'field_2' , touched : true } ] ) ;
31
28
await changeValue ( getField ( wrapper , 0 ) , '' ) ;
32
29
matchError ( getField ( wrapper , 1 ) , true ) ;
33
30
} ) ;
34
31
35
32
describe ( 'initialValue' , ( ) => {
36
- function test ( name , formProps , fieldProps = { } ) {
33
+ function test ( name : string , formProps = { } , fieldProps = { } ) {
37
34
it ( name , async ( ) => {
38
35
let validated = false ;
39
36
@@ -68,16 +65,12 @@ describe('Form.Dependencies', () => {
68
65
} ) ;
69
66
70
67
it ( 'nest dependencies' , async ( ) => {
71
- let form = null ;
68
+ const form = React . createRef < FormInstance > ( ) ;
72
69
let rendered = false ;
73
70
74
71
const wrapper = mount (
75
72
< div >
76
- < Form
77
- ref = { instance => {
78
- form = instance ;
79
- } }
80
- >
73
+ < Form ref = { form } >
81
74
< Field name = "field_1" >
82
75
< Input />
83
76
</ Field >
@@ -94,7 +87,7 @@ describe('Form.Dependencies', () => {
94
87
</ div > ,
95
88
) ;
96
89
97
- form . setFields ( [
90
+ form . current ?. setFields ( [
98
91
{ name : 'field_1' , touched : true } ,
99
92
{ name : 'field_2' , touched : true } ,
100
93
{ name : 'field_3' , touched : true } ,
0 commit comments