@hi-ui/form 4.0.0-beta.31 → 4.0.0-beta.32
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/lib/cjs/Form.js +6 -3
- package/lib/cjs/FormItem.js +21 -3
- package/lib/cjs/use-form-field.js +16 -6
- package/lib/cjs/use-form.js +6 -10
- package/lib/esm/Form.js +6 -3
- package/lib/esm/FormItem.js +21 -4
- package/lib/esm/use-form-field.js +16 -7
- package/lib/esm/use-form.js +6 -10
- package/lib/types/Form.d.ts +4 -0
- package/lib/types/context.d.ts +2 -0
- package/lib/types/use-form-field.d.ts +2 -0
- package/package.json +2 -2
package/lib/cjs/Form.js
CHANGED
|
@@ -60,9 +60,11 @@ var Form = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
60
60
|
placement = _a$placement === void 0 ? 'vertical' : _a$placement,
|
|
61
61
|
_a$contentPosition = _a.contentPosition,
|
|
62
62
|
contentPosition = _a$contentPosition === void 0 ? 'center' : _a$contentPosition,
|
|
63
|
+
_a$showRequiredOnVali = _a.showRequiredOnValidateRequired,
|
|
64
|
+
showRequiredOnValidateRequired = _a$showRequiredOnVali === void 0 ? false : _a$showRequiredOnVali,
|
|
63
65
|
_a$showColon = _a.showColon,
|
|
64
66
|
showColon = _a$showColon === void 0 ? true : _a$showColon,
|
|
65
|
-
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "innerRef", "labelWidth", "labelPlacement", "placement", "contentPosition", "showColon"]);
|
|
67
|
+
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "innerRef", "labelWidth", "labelPlacement", "placement", "contentPosition", "showRequiredOnValidateRequired", "showColon"]);
|
|
66
68
|
|
|
67
69
|
var formContext = useForm.useForm(rest);
|
|
68
70
|
var getRootProps = formContext.getRootProps; // @ts-ignore
|
|
@@ -87,11 +89,12 @@ var Form = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
87
89
|
labelWidth: labelWidth,
|
|
88
90
|
labelPlacement: labelPlacement,
|
|
89
91
|
showColon: showColon,
|
|
90
|
-
contentPosition: contentPosition
|
|
92
|
+
contentPosition: contentPosition,
|
|
93
|
+
showRequiredOnValidateRequired: showRequiredOnValidateRequired
|
|
91
94
|
}, formContext), {
|
|
92
95
|
prefixCls: prefixCls
|
|
93
96
|
});
|
|
94
|
-
}, [labelWidth, formContext, labelPlacement, showColon, prefixCls, contentPosition]);
|
|
97
|
+
}, [labelWidth, formContext, labelPlacement, showColon, prefixCls, contentPosition, showRequiredOnValidateRequired]);
|
|
95
98
|
var cls = classname.cx(prefixCls, className, placement && prefixCls + "--placement-" + placement);
|
|
96
99
|
return (
|
|
97
100
|
/*#__PURE__*/
|
package/lib/cjs/FormItem.js
CHANGED
|
@@ -21,6 +21,8 @@ var React = require('react');
|
|
|
21
21
|
|
|
22
22
|
var env = require('@hi-ui/env');
|
|
23
23
|
|
|
24
|
+
var useFormField = require('./use-form-field.js');
|
|
25
|
+
|
|
24
26
|
var FormLabel = require('./FormLabel.js');
|
|
25
27
|
|
|
26
28
|
var FormMessage = require('./FormMessage.js');
|
|
@@ -55,13 +57,29 @@ var FormItem = function FormItem(_a) {
|
|
|
55
57
|
valueConnectTransform = _a.valueConnectTransform,
|
|
56
58
|
validateTrigger = _a.validateTrigger,
|
|
57
59
|
render = _a.render,
|
|
58
|
-
rest = tslib.__rest(_a, ["className", "children", "field", "valueType", "rules", "valuePropName", "valueChangeFuncPropName", "valueDispatchTransform", "valueConnectTransform", "validateTrigger", "render"]);
|
|
59
|
-
|
|
60
|
+
rest = tslib.__rest(_a, ["className", "children", "field", "valueType", "rules", "valuePropName", "valueChangeFuncPropName", "valueDispatchTransform", "valueConnectTransform", "validateTrigger", "render"]);
|
|
60
61
|
|
|
61
62
|
var _useFormContext = context.useFormContext(),
|
|
62
|
-
prefixCls = _useFormContext.prefixCls
|
|
63
|
+
prefixCls = _useFormContext.prefixCls,
|
|
64
|
+
showRequiredOnValidateRequired = _useFormContext.showRequiredOnValidateRequired;
|
|
63
65
|
|
|
66
|
+
var fieldRules = useFormField.useFiledRules({
|
|
67
|
+
field: field,
|
|
68
|
+
rules: rules,
|
|
69
|
+
valueType: valueType
|
|
70
|
+
});
|
|
71
|
+
var required = rest.required;
|
|
72
|
+
var showRequired = React.useMemo(function () {
|
|
73
|
+
if (required === undefined) {
|
|
74
|
+
return showRequiredOnValidateRequired && fieldRules.some(function (item) {
|
|
75
|
+
return item.required;
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return required;
|
|
80
|
+
}, [required, showRequiredOnValidateRequired, fieldRules]);
|
|
64
81
|
return /*#__PURE__*/React__default["default"].createElement(FormLabel.FormLabel, Object.assign({}, rest, {
|
|
82
|
+
required: showRequired,
|
|
65
83
|
className: classname.cx(prefixCls + "-item", className)
|
|
66
84
|
}), /*#__PURE__*/React__default["default"].createElement(FormField.FormField, {
|
|
67
85
|
field: field,
|
|
@@ -35,17 +35,14 @@ function _interopDefaultLegacy(e) {
|
|
|
35
35
|
|
|
36
36
|
var Validater__default = /*#__PURE__*/_interopDefaultLegacy(Validater);
|
|
37
37
|
|
|
38
|
-
var
|
|
38
|
+
var useFiledRules = function useFiledRules(props) {
|
|
39
39
|
var field = props.field,
|
|
40
40
|
rulesProp = props.rules,
|
|
41
41
|
_props$valueType = props.valueType,
|
|
42
42
|
valueType = _props$valueType === void 0 ? 'any' : _props$valueType;
|
|
43
43
|
|
|
44
44
|
var _useFormContext = context.useFormContext(),
|
|
45
|
-
getFieldRules = _useFormContext.getFieldRules
|
|
46
|
-
getFieldProps = _useFormContext.getFieldProps,
|
|
47
|
-
registerField = _useFormContext.registerField,
|
|
48
|
-
unregisterField = _useFormContext.unregisterField;
|
|
45
|
+
getFieldRules = _useFormContext.getFieldRules;
|
|
49
46
|
/**
|
|
50
47
|
* 处理校验规则,item 优先级大于 form
|
|
51
48
|
*/
|
|
@@ -59,7 +56,19 @@ var useFormField = function useFormField(props) {
|
|
|
59
56
|
type: valueType
|
|
60
57
|
}, rule);
|
|
61
58
|
});
|
|
62
|
-
}, [rulesProp, field, getFieldRules, valueType]);
|
|
59
|
+
}, [rulesProp, field, getFieldRules, valueType]);
|
|
60
|
+
return fieldRules;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
var useFormField = function useFormField(props) {
|
|
64
|
+
var field = props.field;
|
|
65
|
+
|
|
66
|
+
var _useFormContext2 = context.useFormContext(),
|
|
67
|
+
getFieldProps = _useFormContext2.getFieldProps,
|
|
68
|
+
registerField = _useFormContext2.registerField,
|
|
69
|
+
unregisterField = _useFormContext2.unregisterField;
|
|
70
|
+
|
|
71
|
+
var fieldRules = useFiledRules(props); // 当前 field 的唯一校验器
|
|
63
72
|
|
|
64
73
|
var fieldValidate = React.useCallback(function (value) {
|
|
65
74
|
var _Validater, _validater$validate;
|
|
@@ -89,4 +98,5 @@ var useFormField = function useFormField(props) {
|
|
|
89
98
|
return getFieldProps(props);
|
|
90
99
|
};
|
|
91
100
|
|
|
101
|
+
exports.useFiledRules = useFiledRules;
|
|
92
102
|
exports.useFormField = useFormField;
|
package/lib/cjs/use-form.js
CHANGED
|
@@ -48,6 +48,8 @@ var EMPTY_ERRORS = {};
|
|
|
48
48
|
var EMPTY_TOUCHED = {};
|
|
49
49
|
var DEFAULT_VALIDATE_TRIGGER = ['onChange', 'onBlur'];
|
|
50
50
|
|
|
51
|
+
var EMPTY_FUNC = function EMPTY_FUNC() {};
|
|
52
|
+
|
|
51
53
|
var useForm = function useForm(_a) {
|
|
52
54
|
var initialValues = _a.initialValues,
|
|
53
55
|
_a$initialErrors = _a.initialErrors,
|
|
@@ -181,11 +183,8 @@ var useForm = function useForm(_a) {
|
|
|
181
183
|
type: 'SET_VALIDATING',
|
|
182
184
|
payload: false
|
|
183
185
|
}); // @ts-ignore
|
|
184
|
-
// @ts-ignore
|
|
185
|
-
|
|
186
|
-
setFieldError(field, (_c = (_b = (_a = errorMsg.fields[index.stringify(field)]) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : ''); // TODO: 回调和promise支持
|
|
187
|
-
// TODO: 回调和promise支持
|
|
188
186
|
|
|
187
|
+
setFieldError(field, (_c = (_b = (_a = errorMsg.fields[index.stringify(field)]) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : '');
|
|
189
188
|
throw errorMsg;
|
|
190
189
|
}));
|
|
191
190
|
|
|
@@ -320,7 +319,7 @@ var useForm = function useForm(_a) {
|
|
|
320
319
|
var shouldValidateField = validateAfterTouched ? objectUtils.getNested(formState.touched, field) && shouldValidate : shouldValidate;
|
|
321
320
|
|
|
322
321
|
if (shouldValidateField) {
|
|
323
|
-
validateField(field, value);
|
|
322
|
+
validateField(field, value)["catch"](EMPTY_FUNC);
|
|
324
323
|
}
|
|
325
324
|
}, [validateField, validateAfterTouched, formState]);
|
|
326
325
|
var setFieldsValue = React.useCallback(function (fieldsState) {
|
|
@@ -375,7 +374,7 @@ var useForm = function useForm(_a) {
|
|
|
375
374
|
var handleFieldBlur = React.useCallback(function (fieldName, shouldValidate) {
|
|
376
375
|
return function (evt) {
|
|
377
376
|
if (shouldValidate) {
|
|
378
|
-
validateFieldState(fieldName);
|
|
377
|
+
validateFieldState(fieldName)["catch"](EMPTY_FUNC);
|
|
379
378
|
}
|
|
380
379
|
|
|
381
380
|
setFieldTouched(fieldName, true);
|
|
@@ -383,7 +382,7 @@ var useForm = function useForm(_a) {
|
|
|
383
382
|
}, [setFieldTouched, validateFieldState]);
|
|
384
383
|
var handleFieldTrigger = React.useCallback(function (fieldName) {
|
|
385
384
|
return function (evt) {
|
|
386
|
-
validateFieldState(fieldName);
|
|
385
|
+
validateFieldState(fieldName)["catch"](EMPTY_FUNC);
|
|
387
386
|
};
|
|
388
387
|
}, [validateFieldState]);
|
|
389
388
|
/**
|
|
@@ -482,7 +481,6 @@ var useForm = function useForm(_a) {
|
|
|
482
481
|
formDispatch({
|
|
483
482
|
type: 'SUBMIT_DONE'
|
|
484
483
|
}); // return combinedErrors
|
|
485
|
-
// return combinedErrors
|
|
486
484
|
|
|
487
485
|
return formState.values;
|
|
488
486
|
}
|
|
@@ -492,8 +490,6 @@ var useForm = function useForm(_a) {
|
|
|
492
490
|
type: 'SUBMIT_DONE'
|
|
493
491
|
}); // return result
|
|
494
492
|
// TODO: 满足promise 如果既给到values 又给到 errors
|
|
495
|
-
// return result
|
|
496
|
-
// TODO: 满足promise 如果既给到values 又给到 errors
|
|
497
493
|
|
|
498
494
|
return formState.values;
|
|
499
495
|
})["catch"](function (_errors) {
|
package/lib/esm/Form.js
CHANGED
|
@@ -38,9 +38,11 @@ var Form = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
|
38
38
|
placement = _a$placement === void 0 ? 'vertical' : _a$placement,
|
|
39
39
|
_a$contentPosition = _a.contentPosition,
|
|
40
40
|
contentPosition = _a$contentPosition === void 0 ? 'center' : _a$contentPosition,
|
|
41
|
+
_a$showRequiredOnVali = _a.showRequiredOnValidateRequired,
|
|
42
|
+
showRequiredOnValidateRequired = _a$showRequiredOnVali === void 0 ? false : _a$showRequiredOnVali,
|
|
41
43
|
_a$showColon = _a.showColon,
|
|
42
44
|
showColon = _a$showColon === void 0 ? true : _a$showColon,
|
|
43
|
-
rest = __rest(_a, ["prefixCls", "role", "className", "children", "innerRef", "labelWidth", "labelPlacement", "placement", "contentPosition", "showColon"]);
|
|
45
|
+
rest = __rest(_a, ["prefixCls", "role", "className", "children", "innerRef", "labelWidth", "labelPlacement", "placement", "contentPosition", "showRequiredOnValidateRequired", "showColon"]);
|
|
44
46
|
|
|
45
47
|
var formContext = useForm(rest);
|
|
46
48
|
var getRootProps = formContext.getRootProps; // @ts-ignore
|
|
@@ -65,11 +67,12 @@ var Form = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
|
65
67
|
labelWidth: labelWidth,
|
|
66
68
|
labelPlacement: labelPlacement,
|
|
67
69
|
showColon: showColon,
|
|
68
|
-
contentPosition: contentPosition
|
|
70
|
+
contentPosition: contentPosition,
|
|
71
|
+
showRequiredOnValidateRequired: showRequiredOnValidateRequired
|
|
69
72
|
}, formContext), {
|
|
70
73
|
prefixCls: prefixCls
|
|
71
74
|
});
|
|
72
|
-
}, [labelWidth, formContext, labelPlacement, showColon, prefixCls, contentPosition]);
|
|
75
|
+
}, [labelWidth, formContext, labelPlacement, showColon, prefixCls, contentPosition, showRequiredOnValidateRequired]);
|
|
73
76
|
var cls = cx(prefixCls, className, placement && prefixCls + "--placement-" + placement);
|
|
74
77
|
return (
|
|
75
78
|
/*#__PURE__*/
|
package/lib/esm/FormItem.js
CHANGED
|
@@ -8,8 +8,9 @@
|
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
9
|
*/
|
|
10
10
|
import { __rest } from 'tslib';
|
|
11
|
-
import React from 'react';
|
|
11
|
+
import React, { useMemo } from 'react';
|
|
12
12
|
import { __DEV__ } from '@hi-ui/env';
|
|
13
|
+
import { useFiledRules } from './use-form-field.js';
|
|
13
14
|
import { FormLabel } from './FormLabel.js';
|
|
14
15
|
import { FormMessage } from './FormMessage.js';
|
|
15
16
|
import { FormField } from './FormField.js';
|
|
@@ -31,13 +32,29 @@ var FormItem = function FormItem(_a) {
|
|
|
31
32
|
valueConnectTransform = _a.valueConnectTransform,
|
|
32
33
|
validateTrigger = _a.validateTrigger,
|
|
33
34
|
render = _a.render,
|
|
34
|
-
rest = __rest(_a, ["className", "children", "field", "valueType", "rules", "valuePropName", "valueChangeFuncPropName", "valueDispatchTransform", "valueConnectTransform", "validateTrigger", "render"]);
|
|
35
|
-
|
|
35
|
+
rest = __rest(_a, ["className", "children", "field", "valueType", "rules", "valuePropName", "valueChangeFuncPropName", "valueDispatchTransform", "valueConnectTransform", "validateTrigger", "render"]);
|
|
36
36
|
|
|
37
37
|
var _useFormContext = useFormContext(),
|
|
38
|
-
prefixCls = _useFormContext.prefixCls
|
|
38
|
+
prefixCls = _useFormContext.prefixCls,
|
|
39
|
+
showRequiredOnValidateRequired = _useFormContext.showRequiredOnValidateRequired;
|
|
40
|
+
|
|
41
|
+
var fieldRules = useFiledRules({
|
|
42
|
+
field: field,
|
|
43
|
+
rules: rules,
|
|
44
|
+
valueType: valueType
|
|
45
|
+
});
|
|
46
|
+
var required = rest.required;
|
|
47
|
+
var showRequired = useMemo(function () {
|
|
48
|
+
if (required === undefined) {
|
|
49
|
+
return showRequiredOnValidateRequired && fieldRules.some(function (item) {
|
|
50
|
+
return item.required;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
39
53
|
|
|
54
|
+
return required;
|
|
55
|
+
}, [required, showRequiredOnValidateRequired, fieldRules]);
|
|
40
56
|
return /*#__PURE__*/React.createElement(FormLabel, Object.assign({}, rest, {
|
|
57
|
+
required: showRequired,
|
|
41
58
|
className: cx(prefixCls + "-item", className)
|
|
42
59
|
}), /*#__PURE__*/React.createElement(FormField, {
|
|
43
60
|
field: field,
|
|
@@ -14,17 +14,14 @@ import Validater from 'async-validator';
|
|
|
14
14
|
import { normalizeArray } from '@hi-ui/array-utils';
|
|
15
15
|
import { stringify, isValidField } from './utils/index.js';
|
|
16
16
|
|
|
17
|
-
var
|
|
17
|
+
var useFiledRules = function useFiledRules(props) {
|
|
18
18
|
var field = props.field,
|
|
19
19
|
rulesProp = props.rules,
|
|
20
20
|
_props$valueType = props.valueType,
|
|
21
21
|
valueType = _props$valueType === void 0 ? 'any' : _props$valueType;
|
|
22
22
|
|
|
23
23
|
var _useFormContext = useFormContext(),
|
|
24
|
-
getFieldRules = _useFormContext.getFieldRules
|
|
25
|
-
getFieldProps = _useFormContext.getFieldProps,
|
|
26
|
-
registerField = _useFormContext.registerField,
|
|
27
|
-
unregisterField = _useFormContext.unregisterField;
|
|
24
|
+
getFieldRules = _useFormContext.getFieldRules;
|
|
28
25
|
/**
|
|
29
26
|
* 处理校验规则,item 优先级大于 form
|
|
30
27
|
*/
|
|
@@ -38,7 +35,19 @@ var useFormField = function useFormField(props) {
|
|
|
38
35
|
type: valueType
|
|
39
36
|
}, rule);
|
|
40
37
|
});
|
|
41
|
-
}, [rulesProp, field, getFieldRules, valueType]);
|
|
38
|
+
}, [rulesProp, field, getFieldRules, valueType]);
|
|
39
|
+
return fieldRules;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
var useFormField = function useFormField(props) {
|
|
43
|
+
var field = props.field;
|
|
44
|
+
|
|
45
|
+
var _useFormContext2 = useFormContext(),
|
|
46
|
+
getFieldProps = _useFormContext2.getFieldProps,
|
|
47
|
+
registerField = _useFormContext2.registerField,
|
|
48
|
+
unregisterField = _useFormContext2.unregisterField;
|
|
49
|
+
|
|
50
|
+
var fieldRules = useFiledRules(props); // 当前 field 的唯一校验器
|
|
42
51
|
|
|
43
52
|
var fieldValidate = useCallback(function (value) {
|
|
44
53
|
var _Validater, _validater$validate;
|
|
@@ -68,4 +77,4 @@ var useFormField = function useFormField(props) {
|
|
|
68
77
|
return getFieldProps(props);
|
|
69
78
|
};
|
|
70
79
|
|
|
71
|
-
export { useFormField };
|
|
80
|
+
export { useFiledRules, useFormField };
|
package/lib/esm/use-form.js
CHANGED
|
@@ -21,6 +21,8 @@ var EMPTY_ERRORS = {};
|
|
|
21
21
|
var EMPTY_TOUCHED = {};
|
|
22
22
|
var DEFAULT_VALIDATE_TRIGGER = ['onChange', 'onBlur'];
|
|
23
23
|
|
|
24
|
+
var EMPTY_FUNC = function EMPTY_FUNC() {};
|
|
25
|
+
|
|
24
26
|
var useForm = function useForm(_a) {
|
|
25
27
|
var initialValues = _a.initialValues,
|
|
26
28
|
_a$initialErrors = _a.initialErrors,
|
|
@@ -154,11 +156,8 @@ var useForm = function useForm(_a) {
|
|
|
154
156
|
type: 'SET_VALIDATING',
|
|
155
157
|
payload: false
|
|
156
158
|
}); // @ts-ignore
|
|
157
|
-
// @ts-ignore
|
|
158
|
-
|
|
159
|
-
setFieldError(field, (_c = (_b = (_a = errorMsg.fields[stringify(field)]) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : ''); // TODO: 回调和promise支持
|
|
160
|
-
// TODO: 回调和promise支持
|
|
161
159
|
|
|
160
|
+
setFieldError(field, (_c = (_b = (_a = errorMsg.fields[stringify(field)]) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.message) !== null && _c !== void 0 ? _c : '');
|
|
162
161
|
throw errorMsg;
|
|
163
162
|
}));
|
|
164
163
|
|
|
@@ -293,7 +292,7 @@ var useForm = function useForm(_a) {
|
|
|
293
292
|
var shouldValidateField = validateAfterTouched ? getNested(formState.touched, field) && shouldValidate : shouldValidate;
|
|
294
293
|
|
|
295
294
|
if (shouldValidateField) {
|
|
296
|
-
validateField(field, value);
|
|
295
|
+
validateField(field, value)["catch"](EMPTY_FUNC);
|
|
297
296
|
}
|
|
298
297
|
}, [validateField, validateAfterTouched, formState]);
|
|
299
298
|
var setFieldsValue = useCallback(function (fieldsState) {
|
|
@@ -348,7 +347,7 @@ var useForm = function useForm(_a) {
|
|
|
348
347
|
var handleFieldBlur = useCallback(function (fieldName, shouldValidate) {
|
|
349
348
|
return function (evt) {
|
|
350
349
|
if (shouldValidate) {
|
|
351
|
-
validateFieldState(fieldName);
|
|
350
|
+
validateFieldState(fieldName)["catch"](EMPTY_FUNC);
|
|
352
351
|
}
|
|
353
352
|
|
|
354
353
|
setFieldTouched(fieldName, true);
|
|
@@ -356,7 +355,7 @@ var useForm = function useForm(_a) {
|
|
|
356
355
|
}, [setFieldTouched, validateFieldState]);
|
|
357
356
|
var handleFieldTrigger = useCallback(function (fieldName) {
|
|
358
357
|
return function (evt) {
|
|
359
|
-
validateFieldState(fieldName);
|
|
358
|
+
validateFieldState(fieldName)["catch"](EMPTY_FUNC);
|
|
360
359
|
};
|
|
361
360
|
}, [validateFieldState]);
|
|
362
361
|
/**
|
|
@@ -455,7 +454,6 @@ var useForm = function useForm(_a) {
|
|
|
455
454
|
formDispatch({
|
|
456
455
|
type: 'SUBMIT_DONE'
|
|
457
456
|
}); // return combinedErrors
|
|
458
|
-
// return combinedErrors
|
|
459
457
|
|
|
460
458
|
return formState.values;
|
|
461
459
|
}
|
|
@@ -465,8 +463,6 @@ var useForm = function useForm(_a) {
|
|
|
465
463
|
type: 'SUBMIT_DONE'
|
|
466
464
|
}); // return result
|
|
467
465
|
// TODO: 满足promise 如果既给到values 又给到 errors
|
|
468
|
-
// return result
|
|
469
|
-
// TODO: 满足promise 如果既给到values 又给到 errors
|
|
470
466
|
|
|
471
467
|
return formState.values;
|
|
472
468
|
})["catch"](function (_errors) {
|
package/lib/types/Form.d.ts
CHANGED
package/lib/types/context.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export interface FormContextProps extends UseFormReturn {
|
|
|
5
5
|
labelPlacement: 'left' | 'right' | 'top';
|
|
6
6
|
contentPosition: 'top' | 'center' | 'bottom';
|
|
7
7
|
showColon: boolean;
|
|
8
|
+
showRequiredOnValidateRequired: boolean;
|
|
9
|
+
prefixCls: string;
|
|
8
10
|
}
|
|
9
11
|
export declare const FormProvider: React.Provider<Omit<FormContextProps, "rootProps"> | null>;
|
|
10
12
|
export declare const useFormContext: () => Omit<FormContextProps, "rootProps">;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { FormFieldPath, FormRuleModel, FormRuleType } from './types';
|
|
2
|
+
import { Rules } from 'async-validator';
|
|
3
|
+
export declare const useFiledRules: <Values = any>(props: UseFormFieldProps<Values>) => Rules[];
|
|
2
4
|
export declare const useFormField: <Values = any>(props: UseFormFieldProps<Values>) => any;
|
|
3
5
|
export interface UseFormFieldProps<T = any> {
|
|
4
6
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hi-ui/form",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.32",
|
|
4
4
|
"description": "A sub-package for @hi-ui/hiui.",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"author": "HIUI <mi-hiui@xiaomi.com>",
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"react": "^17.0.1",
|
|
66
66
|
"react-dom": "^17.0.1"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "be4f04952d9ce654d7fcf185578e2bb8694d5c63"
|
|
69
69
|
}
|