@hi-ui/form 4.0.0-alpha.1 → 4.0.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +174 -7
- package/lib/cjs/Form.js +27 -9
- package/lib/cjs/Form.js.map +1 -1
- package/lib/cjs/FormItem.js +29 -5
- package/lib/cjs/FormItem.js.map +1 -1
- package/lib/cjs/FormLabel.js +1 -1
- package/lib/cjs/FormLabel.js.map +1 -1
- package/lib/cjs/FormList.js +2 -2
- package/lib/cjs/FormList.js.map +1 -1
- package/lib/cjs/FormMessage.js +3 -3
- package/lib/cjs/FormMessage.js.map +1 -1
- package/lib/cjs/FormReset.js +76 -0
- package/lib/cjs/FormReset.js.map +1 -0
- package/lib/cjs/FormSubmit.js +87 -0
- package/lib/cjs/FormSubmit.js.map +1 -0
- package/lib/cjs/index.js +6 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/styles/index.scss.js +1 -1
- package/lib/cjs/use-form-field.js +19 -35
- package/lib/cjs/use-form-field.js.map +1 -1
- package/lib/cjs/use-form.js +135 -58
- package/lib/cjs/use-form.js.map +1 -1
- package/lib/cjs/utils/index.js +26 -0
- package/lib/cjs/utils/index.js.map +1 -0
- package/lib/esm/Form.js +28 -10
- package/lib/esm/Form.js.map +1 -1
- package/lib/esm/FormItem.js +27 -5
- package/lib/esm/FormItem.js.map +1 -1
- package/lib/esm/FormLabel.js +1 -1
- package/lib/esm/FormLabel.js.map +1 -1
- package/lib/esm/FormList.js +2 -2
- package/lib/esm/FormList.js.map +1 -1
- package/lib/esm/FormMessage.js +3 -3
- package/lib/esm/FormMessage.js.map +1 -1
- package/lib/esm/FormReset.js +52 -0
- package/lib/esm/FormReset.js.map +1 -0
- package/lib/esm/FormSubmit.js +63 -0
- package/lib/esm/FormSubmit.js.map +1 -0
- package/lib/esm/index.js +2 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/styles/index.scss.js +1 -1
- package/lib/esm/use-form-field.js +19 -36
- package/lib/esm/use-form-field.js.map +1 -1
- package/lib/esm/use-form.js +136 -60
- package/lib/esm/use-form.js.map +1 -1
- package/lib/esm/utils/index.js +19 -0
- package/lib/esm/utils/index.js.map +1 -0
- package/lib/types/FormReset.d.ts +2 -1
- package/lib/types/FormSubmit.d.ts +3 -2
- package/lib/types/context.d.ts +32 -18
- package/lib/types/index.d.ts +2 -0
- package/lib/types/types.d.ts +34 -12
- package/lib/types/use-form-field.d.ts +10 -6
- package/lib/types/use-form.d.ts +16 -9
- package/lib/types/utils/index.d.ts +3 -0
- package/package.json +13 -13
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { FormFieldPath, FormRuleModel } from './types';
|
|
2
2
|
export declare const useFormField: <Values = any>(props: UseFormFieldProps<Values>) => {
|
|
3
|
-
[x: number]:
|
|
3
|
+
[x: number]: any;
|
|
4
4
|
ref: any;
|
|
5
5
|
onBlur: (...args: any) => void;
|
|
6
|
-
invalid:
|
|
6
|
+
invalid: any;
|
|
7
7
|
};
|
|
8
8
|
export interface UseFormFieldProps<T = Record<string, any>> {
|
|
9
9
|
/**
|
|
10
10
|
* 字段名,支持数组
|
|
11
11
|
*/
|
|
12
|
-
field: FormFieldPath;
|
|
12
|
+
field: FormFieldPath | null;
|
|
13
13
|
/**
|
|
14
14
|
* 指定控件值数据结构类型
|
|
15
15
|
*/
|
|
16
|
-
valueType: 'string' | 'boolean' | 'number' | 'array' | 'object' | 'date';
|
|
16
|
+
valueType: 'string' | 'boolean' | 'number' | 'array' | 'object' | 'date' | null;
|
|
17
17
|
/**
|
|
18
18
|
* 设置字段的验证规则,会覆盖 Form 设置的 rules
|
|
19
19
|
*/
|
|
@@ -25,11 +25,15 @@ export interface UseFormFieldProps<T = Record<string, any>> {
|
|
|
25
25
|
/**
|
|
26
26
|
* form 从控件个体采集数据的转换器,最终会把返回值转发给 Form
|
|
27
27
|
*/
|
|
28
|
-
|
|
28
|
+
valueCollectPipe?: (value: any) => T;
|
|
29
|
+
/**
|
|
30
|
+
* 控件个体接收 form 下发数据的转换器,最终会把返回值转发给 FormField
|
|
31
|
+
*/
|
|
32
|
+
valueSyncPipe?: (value: any) => T;
|
|
29
33
|
/**
|
|
30
34
|
* 自定义设置 Form 从表单控件采集数据回调的属性
|
|
31
35
|
*/
|
|
32
|
-
|
|
36
|
+
valueCollectPropName?: string;
|
|
33
37
|
/**
|
|
34
38
|
* 设置触发该字段校验的时机,会覆盖 Form 设置的 validateTrigger
|
|
35
39
|
*/
|
package/lib/types/use-form.d.ts
CHANGED
|
@@ -2,25 +2,32 @@ import React from 'react';
|
|
|
2
2
|
import { FormState, FormFieldCollection, FormErrors, FormRuleModel, FormFieldPath, FormErrorMessage, FormSetState } from './types';
|
|
3
3
|
export declare const useForm: <Values = Record<string, any>>({ initialValues, initialErrors, initialTouched, lazyValidate, onValuesChange, onReset, onSubmit, rules, validateAfterTouched, validateTrigger: validateTriggerProp, ...rest }: UseFormProps<Values>) => {
|
|
4
4
|
setFormState: (stateOrFunc: FormSetState<Values>) => void;
|
|
5
|
-
setFieldValue: (field:
|
|
5
|
+
setFieldValue: (field: FormFieldPath, value: unknown, shouldValidate?: boolean | undefined) => void;
|
|
6
6
|
setFieldError: (field: FormFieldPath, errorMessage: FormErrorMessage | undefined) => void;
|
|
7
7
|
setFieldTouched: (field: FormFieldPath, touched?: any) => void;
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
getFieldValue: (fieldName: FormFieldPath) => any;
|
|
9
|
+
getFieldError: (fieldName: FormFieldPath) => any;
|
|
10
|
+
getFieldRules: (fieldName: FormFieldPath) => any;
|
|
10
11
|
getRootProps: () => {
|
|
11
|
-
onSubmit: (evt?: React.FormEvent<HTMLFormElement> | undefined) =>
|
|
12
|
+
onSubmit: (evt?: React.FormEvent<HTMLFormElement> | undefined) => Promise<unknown>;
|
|
12
13
|
onReset: (evt?: React.FormEvent<HTMLFormElement> | undefined) => void;
|
|
13
14
|
};
|
|
14
15
|
getFieldProps: (props?: any, ref?: any) => {
|
|
15
|
-
[x: number]:
|
|
16
|
+
[x: number]: any;
|
|
16
17
|
ref: any;
|
|
17
18
|
onBlur: (...args: any) => void;
|
|
18
|
-
invalid:
|
|
19
|
+
invalid: any;
|
|
19
20
|
};
|
|
20
|
-
registerField: (
|
|
21
|
-
unregisterField: (
|
|
22
|
-
submitForm: () => Promise<
|
|
21
|
+
registerField: (keyOrKeys: FormFieldPath, value: FormFieldCollection<Values>) => void;
|
|
22
|
+
unregisterField: (keyOrKeys: FormFieldPath) => void;
|
|
23
|
+
submitForm: () => Promise<unknown>;
|
|
23
24
|
resetForm: (nextState?: Partial<FormState<any>> | undefined) => Promise<void>;
|
|
25
|
+
resetErrors: () => void;
|
|
26
|
+
validateFieldState: (field: FormFieldPath) => Promise<{} | undefined>;
|
|
27
|
+
validateValue: (field: FormFieldPath, value: unknown) => Promise<{} | undefined>;
|
|
28
|
+
getFieldsValue: () => any;
|
|
29
|
+
setFieldsValue: (fields: Record<string, any>, shouldValidate?: boolean | undefined) => void;
|
|
30
|
+
getFieldsError: () => any;
|
|
24
31
|
values: unknown;
|
|
25
32
|
errors: FormErrors<unknown>;
|
|
26
33
|
touched: import("./types").FormTouched<unknown>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hi-ui/form",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
3
|
+
"version": "4.0.0-alpha.10",
|
|
4
4
|
"description": "A sub-package for @hi-ui/hiui.",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"author": "HIUI <mi-hiui@xiaomi.com>",
|
|
@@ -44,25 +44,25 @@
|
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@flcwly/validater": "^0.1.4",
|
|
47
|
-
"@hi-ui/button": "^4.0.0-alpha.
|
|
48
|
-
"@hi-ui/classname": "^4.0.0-alpha.
|
|
49
|
-
"@hi-ui/core-css": "^4.0.0-alpha.
|
|
50
|
-
"@hi-ui/dom-utils": "^4.0.0-alpha.
|
|
51
|
-
"@hi-ui/env": "^4.0.0-alpha.
|
|
52
|
-
"@hi-ui/func-utils": "^4.0.0-alpha.
|
|
53
|
-
"@hi-ui/type-assertion": "^4.0.0-alpha.
|
|
54
|
-
"@hi-ui/use-latest": "^4.0.0-alpha.
|
|
47
|
+
"@hi-ui/button": "^4.0.0-alpha.22",
|
|
48
|
+
"@hi-ui/classname": "^4.0.0-alpha.3",
|
|
49
|
+
"@hi-ui/core-css": "^4.0.0-alpha.13",
|
|
50
|
+
"@hi-ui/dom-utils": "^4.0.0-alpha.7",
|
|
51
|
+
"@hi-ui/env": "^4.0.0-alpha.5",
|
|
52
|
+
"@hi-ui/func-utils": "^4.0.0-alpha.5",
|
|
53
|
+
"@hi-ui/type-assertion": "^4.0.0-alpha.13",
|
|
54
|
+
"@hi-ui/use-latest": "^4.0.0-alpha.5",
|
|
55
55
|
"async-validator": "^4.0.7",
|
|
56
56
|
"yup": "^0.32.11"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
|
-
"react": "
|
|
60
|
-
"react-dom": "
|
|
59
|
+
"react": ">=16.8.6",
|
|
60
|
+
"react-dom": ">=16.8.6"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
|
-
"@hi-ui/hi-build": "^4.0.0-alpha.
|
|
63
|
+
"@hi-ui/hi-build": "^4.0.0-alpha.4",
|
|
64
64
|
"react": "^17.0.1",
|
|
65
65
|
"react-dom": "^17.0.1"
|
|
66
66
|
},
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "f001a9fe152b0f84d1a88b8782c38e1527020070"
|
|
68
68
|
}
|