@@ -24,8 +24,8 @@ export interface InternalFieldData extends Meta {
24
24
/**
25
25
* Used by `setFields` config
26
26
*/
27
- export interface FieldData extends Partial < Omit < InternalFieldData , 'name' > > {
28
- name : NamePath ;
27
+ export interface FieldData < Values = any > extends Partial < Omit < InternalFieldData , 'name' > > {
28
+ name : NamePath < Values > ;
29
29
}
30
30
31
31
export type RuleType =
@@ -235,37 +235,38 @@ export interface InternalHooks {
235
235
}
236
236
237
237
/** Only return partial when type is not any */
238
- type RecursivePartial < T > = NonNullable < T > extends object
239
- ? {
240
- [ P in keyof T ] ?: NonNullable < T [ P ] > extends ( infer U ) [ ]
241
- ? RecursivePartial < U > [ ]
242
- : NonNullable < T [ P ] > extends object
243
- ? RecursivePartial < T [ P ] >
244
- : T [ P ] ;
245
- }
246
- : T ;
238
+ type RecursivePartial < T > =
239
+ NonNullable < T > extends object
240
+ ? {
241
+ [ P in keyof T ] ?: NonNullable < T [ P ] > extends ( infer U ) [ ]
242
+ ? RecursivePartial < U > [ ]
243
+ : NonNullable < T [ P ] > extends object
244
+ ? RecursivePartial < T [ P ] >
245
+ : T [ P ] ;
246
+ }
247
+ : T ;
247
248
248
249
export type FilterFunc = ( meta : Meta ) => boolean ;
249
250
250
251
export type GetFieldsValueConfig = { strict ?: boolean ; filter ?: FilterFunc } ;
251
252
252
253
export interface FormInstance < Values = any > {
253
254
// Origin Form API
254
- getFieldValue : ( name : NamePath ) => StoreValue ;
255
+ getFieldValue : ( name : NamePath < Values > ) => StoreValue ;
255
256
getFieldsValue : ( ( ) => Values ) &
256
- ( ( nameList : NamePath [ ] | true , filterFunc ?: FilterFunc ) => any ) &
257
+ ( ( nameList : NamePath < Values > [ ] | true , filterFunc ?: FilterFunc ) => any ) &
257
258
( ( config : GetFieldsValueConfig ) => any ) ;
258
- getFieldError : ( name : NamePath ) => string [ ] ;
259
- getFieldsError : ( nameList ?: NamePath [ ] ) => FieldError [ ] ;
260
- getFieldWarning : ( name : NamePath ) => string [ ] ;
261
- isFieldsTouched : ( ( nameList ?: NamePath [ ] , allFieldsTouched ?: boolean ) => boolean ) &
259
+ getFieldError : ( name : NamePath < Values > ) => string [ ] ;
260
+ getFieldsError : ( nameList ?: NamePath < Values > [ ] ) => FieldError [ ] ;
261
+ getFieldWarning : ( name : NamePath < Values > ) => string [ ] ;
262
+ isFieldsTouched : ( ( nameList ?: NamePath < Values > [ ] , allFieldsTouched ?: boolean ) => boolean ) &
262
263
( ( allFieldsTouched ?: boolean ) => boolean ) ;
263
- isFieldTouched : ( name : NamePath ) => boolean ;
264
- isFieldValidating : ( name : NamePath ) => boolean ;
265
- isFieldsValidating : ( nameList ?: NamePath [ ] ) => boolean ;
266
- resetFields : ( fields ?: NamePath [ ] ) => void ;
267
- setFields : ( fields : FieldData [ ] ) => void ;
268
- setFieldValue : ( name : NamePath , value : any ) => void ;
264
+ isFieldTouched : ( name : NamePath < Values > ) => boolean ;
265
+ isFieldValidating : ( name : NamePath < Values > ) => boolean ;
266
+ isFieldsValidating : ( nameList ?: NamePath < Values > [ ] ) => boolean ;
267
+ resetFields : ( fields ?: NamePath < Values > [ ] ) => void ;
268
+ setFields : ( fields : FieldData < Values > [ ] ) => void ;
269
+ setFieldValue : ( name : NamePath < Values > , value : any ) => void ;
269
270
setFieldsValue : ( values : RecursivePartial < Values > ) => void ;
270
271
validateFields : ValidateFields < Values > ;
271
272
0 commit comments