@sheinx/hooks 3.8.0-beta.2 → 3.8.0-beta.20
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/cjs/common/use-position-style/check-border.d.ts +1 -0
- package/cjs/common/use-position-style/check-border.d.ts.map +1 -1
- package/cjs/common/use-position-style/check-border.js +2 -2
- package/cjs/common/use-position-style/index.d.ts.map +1 -1
- package/cjs/common/use-position-style/index.js +10 -4
- package/cjs/components/use-datepicker/use-date.d.ts.map +1 -1
- package/cjs/components/use-datepicker/use-date.js +12 -4
- package/cjs/components/use-datepicker/use-date.type.d.ts +2 -1
- package/cjs/components/use-datepicker/use-date.type.d.ts.map +1 -1
- package/cjs/components/use-datepicker/use-datepicker-format.d.ts +2 -1
- package/cjs/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
- package/cjs/components/use-datepicker/use-datepicker-format.js +22 -5
- package/cjs/components/use-datepicker/use-datepicker-range.js +2 -2
- package/cjs/components/use-datepicker/use-time.d.ts.map +1 -1
- package/cjs/components/use-datepicker/use-time.js +4 -2
- package/cjs/components/use-datepicker/use-time.type.d.ts +3 -1
- package/cjs/components/use-datepicker/use-time.type.d.ts.map +1 -1
- package/cjs/components/use-datepicker/util.d.ts +7 -1
- package/cjs/components/use-datepicker/util.d.ts.map +1 -1
- package/cjs/components/use-datepicker/util.js +11 -1
- package/cjs/components/use-form/use-form-context.d.ts.map +1 -1
- package/cjs/components/use-form/use-form-context.js +11 -5
- package/cjs/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
- package/cjs/components/use-form/use-form-control/use-form-control.js +12 -3
- package/cjs/components/use-form/use-form-control/use-form-control.type.d.ts +8 -2
- package/cjs/components/use-form/use-form-control/use-form-control.type.d.ts.map +1 -1
- package/cjs/components/use-form/use-form-flow/use-form-datum.d.ts +8 -0
- package/cjs/components/use-form/use-form-flow/use-form-datum.d.ts.map +1 -1
- package/cjs/components/use-form/use-form.d.ts.map +1 -1
- package/cjs/components/use-form/use-form.js +12 -8
- package/cjs/components/use-form/use-form.type.d.ts +43 -39
- package/cjs/components/use-form/use-form.type.d.ts.map +1 -1
- package/cjs/components/use-input/use-input-format.d.ts.map +1 -1
- package/cjs/components/use-input/use-input-format.js +2 -1
- package/cjs/components/use-input/use-input.d.ts.map +1 -1
- package/cjs/components/use-input/use-input.js +4 -1
- package/cjs/components/use-pagination/use-pagination.d.ts.map +1 -1
- package/cjs/components/use-pagination/use-pagination.js +2 -1
- package/cjs/components/use-popup/use-popup.d.ts.map +1 -1
- package/cjs/components/use-popup/use-popup.js +7 -4
- package/cjs/components/use-table/use-table-virtual.d.ts +2 -1
- package/cjs/components/use-table/use-table-virtual.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-virtual.js +3 -3
- package/cjs/components/use-table/use-table.type.d.ts +70 -92
- package/cjs/components/use-table/use-table.type.d.ts.map +1 -1
- package/cjs/components/use-transfer/index.d.ts +1 -0
- package/cjs/components/use-transfer/index.d.ts.map +1 -1
- package/cjs/components/use-transfer/index.js +15 -0
- package/cjs/components/use-transfer/transfer-context.d.ts +7 -0
- package/cjs/components/use-transfer/transfer-context.d.ts.map +1 -0
- package/cjs/components/use-transfer/transfer-context.js +12 -0
- package/cjs/components/use-tree/use-tree-node.d.ts +7 -1
- package/cjs/components/use-tree/use-tree-node.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree-node.js +19 -1
- package/cjs/components/use-tree/use-tree.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree.js +14 -9
- package/cjs/components/use-tree/use-tree.type.d.ts +7 -1
- package/cjs/components/use-tree/use-tree.type.d.ts.map +1 -1
- package/cjs/utils/dom/document.d.ts +4 -0
- package/cjs/utils/dom/document.d.ts.map +1 -1
- package/cjs/utils/dom/document.js +19 -2
- package/cjs/utils/highlight.d.ts.map +1 -1
- package/cjs/utils/highlight.js +24 -11
- package/cjs/utils/number.d.ts +10 -0
- package/cjs/utils/number.d.ts.map +1 -1
- package/cjs/utils/number.js +99 -1
- package/cjs/utils/object.d.ts +6 -0
- package/cjs/utils/object.d.ts.map +1 -1
- package/cjs/utils/object.js +21 -1
- package/cjs/utils/shallow-equal.d.ts +1 -0
- package/cjs/utils/shallow-equal.d.ts.map +1 -1
- package/cjs/utils/shallow-equal.js +9 -0
- package/esm/common/use-position-style/check-border.d.ts +1 -0
- package/esm/common/use-position-style/check-border.d.ts.map +1 -1
- package/esm/common/use-position-style/check-border.js +2 -2
- package/esm/common/use-position-style/index.d.ts.map +1 -1
- package/esm/common/use-position-style/index.js +11 -5
- package/esm/components/use-datepicker/use-date.d.ts.map +1 -1
- package/esm/components/use-datepicker/use-date.js +12 -4
- package/esm/components/use-datepicker/use-date.type.d.ts +2 -1
- package/esm/components/use-datepicker/use-date.type.d.ts.map +1 -1
- package/esm/components/use-datepicker/use-datepicker-format.d.ts +2 -1
- package/esm/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
- package/esm/components/use-datepicker/use-datepicker-format.js +19 -5
- package/esm/components/use-datepicker/use-datepicker-range.js +2 -2
- package/esm/components/use-datepicker/use-time.d.ts.map +1 -1
- package/esm/components/use-datepicker/use-time.js +4 -2
- package/esm/components/use-datepicker/use-time.type.d.ts +3 -1
- package/esm/components/use-datepicker/use-time.type.d.ts.map +1 -1
- package/esm/components/use-datepicker/util.d.ts +7 -1
- package/esm/components/use-datepicker/util.d.ts.map +1 -1
- package/esm/components/use-datepicker/util.js +11 -1
- package/esm/components/use-form/use-form-context.d.ts.map +1 -1
- package/esm/components/use-form/use-form-context.js +11 -5
- package/esm/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
- package/esm/components/use-form/use-form-control/use-form-control.js +12 -3
- package/esm/components/use-form/use-form-control/use-form-control.type.d.ts +8 -2
- package/esm/components/use-form/use-form-control/use-form-control.type.d.ts.map +1 -1
- package/esm/components/use-form/use-form-flow/use-form-datum.d.ts +8 -0
- package/esm/components/use-form/use-form-flow/use-form-datum.d.ts.map +1 -1
- package/esm/components/use-form/use-form.d.ts.map +1 -1
- package/esm/components/use-form/use-form.js +12 -8
- package/esm/components/use-form/use-form.type.d.ts +43 -39
- package/esm/components/use-form/use-form.type.d.ts.map +1 -1
- package/esm/components/use-input/use-input-format.d.ts.map +1 -1
- package/esm/components/use-input/use-input-format.js +2 -1
- package/esm/components/use-input/use-input.d.ts.map +1 -1
- package/esm/components/use-input/use-input.js +4 -1
- package/esm/components/use-pagination/use-pagination.d.ts.map +1 -1
- package/esm/components/use-pagination/use-pagination.js +2 -1
- package/esm/components/use-popup/use-popup.d.ts.map +1 -1
- package/esm/components/use-popup/use-popup.js +7 -4
- package/esm/components/use-table/use-table-virtual.d.ts +2 -1
- package/esm/components/use-table/use-table-virtual.d.ts.map +1 -1
- package/esm/components/use-table/use-table-virtual.js +3 -3
- package/esm/components/use-table/use-table.type.d.ts +70 -92
- package/esm/components/use-table/use-table.type.d.ts.map +1 -1
- package/esm/components/use-transfer/index.d.ts +1 -0
- package/esm/components/use-transfer/index.d.ts.map +1 -1
- package/esm/components/use-transfer/index.js +1 -0
- package/esm/components/use-transfer/transfer-context.d.ts +7 -0
- package/esm/components/use-transfer/transfer-context.d.ts.map +1 -0
- package/esm/components/use-transfer/transfer-context.js +6 -0
- package/esm/components/use-tree/use-tree-node.d.ts +7 -1
- package/esm/components/use-tree/use-tree-node.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree-node.js +19 -1
- package/esm/components/use-tree/use-tree.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree.js +14 -9
- package/esm/components/use-tree/use-tree.type.d.ts +7 -1
- package/esm/components/use-tree/use-tree.type.d.ts.map +1 -1
- package/esm/utils/dom/document.d.ts +4 -0
- package/esm/utils/dom/document.d.ts.map +1 -1
- package/esm/utils/dom/document.js +18 -1
- package/esm/utils/highlight.d.ts.map +1 -1
- package/esm/utils/highlight.js +24 -10
- package/esm/utils/number.d.ts +10 -0
- package/esm/utils/number.d.ts.map +1 -1
- package/esm/utils/number.js +98 -1
- package/esm/utils/object.d.ts +6 -0
- package/esm/utils/object.d.ts.map +1 -1
- package/esm/utils/object.js +20 -0
- package/esm/utils/shallow-equal.d.ts +1 -0
- package/esm/utils/shallow-equal.d.ts.map +1 -1
- package/esm/utils/shallow-equal.js +8 -0
- package/package.json +3 -3
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["util.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAC9D,MAAM,MAAM,IAAI,GACZ,MAAM,GACN,OAAO,GACP,SAAS,GACT,MAAM,GACN,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,MAAM,CAAC;AACX,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AAKjD,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAqBD,eAAO,MAAM,aAAa,SAAU,MAAM,uBAmBzC,CAAC;AAOF,iBAAS,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,GAAE,WAAgB,EAAE,IAAI,UAAQ,QAa3E;AAED,iBAAS,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,QAKhE;AAED,iBAAS,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,QAKlE;AAED,iBAAS,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,QAKnE;AAED,iBAAS,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,QAKjE;AAED,iBAAS,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,QAKhF;AAED,iBAAS,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAG7E;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,UAO3D;AAcD,iBAAS,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,GAAE,WAAgB,WAEvE;AAED,iBAAS,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,WAIhE;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,WAGjE;AACD,iBAAS,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,WAGpE;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,WAGjE;AAED,iBAAS,OAAO,CAAC,IAAI,EAAE,YAAY,WAIlC;AAED,iBAAS,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["util.ts"],"names":[],"mappings":"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"}
|
@@ -155,8 +155,18 @@ function isValid(date) {
|
|
155
155
|
if (!(date instanceof Date)) return false;
|
156
156
|
return dayjs(date).isValid();
|
157
157
|
}
|
158
|
-
|
158
|
+
|
159
|
+
/**
|
160
|
+
* @param date 日期字符串
|
161
|
+
* @param fmt 日期格式
|
162
|
+
* @param isLoose 是否为宽松模式
|
163
|
+
* @returns 是否为有效日期
|
164
|
+
*/
|
165
|
+
function isValidString(date, fmt, isLoose) {
|
159
166
|
if (!date) return false;
|
167
|
+
if (isLoose) {
|
168
|
+
return dayjs(date).isValid();
|
169
|
+
}
|
160
170
|
return dayjs(date, fmt, true).isValid();
|
161
171
|
}
|
162
172
|
function parse(d, fmt, options) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-form-context.d.ts","sourceRoot":"","sources":["use-form-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,eAAO,MAAM,WAAW,oBAA+B,CAAC;AAExD,wBAAgB,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,
|
1
|
+
{"version":3,"file":"use-form-context.d.ts","sourceRoot":"","sources":["use-form-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,eAAO,MAAM,WAAW,oBAA+B,CAAC;AAExD,wBAAgB,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAG7E;AAED,wBAAgB,eAAe,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAG/C"}
|
@@ -1,11 +1,17 @@
|
|
1
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
2
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
3
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
4
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
5
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
6
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
1
7
|
import React from 'react';
|
2
8
|
export var FormContext = /*#__PURE__*/React.createContext({});
|
3
9
|
export function useFormRef() {
|
4
|
-
var
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
return [
|
10
|
+
var _React$useState = React.useState({}),
|
11
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
12
|
+
formRef = _React$useState2[0],
|
13
|
+
setFormRef = _React$useState2[1];
|
14
|
+
return [formRef, setFormRef];
|
9
15
|
}
|
10
16
|
export function useFormInstance() {
|
11
17
|
var formCtx = React.useContext(FormContext);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-form-control.d.ts","sourceRoot":"","sources":["use-form-control.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,oBAAoB,EAAsB,MAAM,yBAAyB,CAAC;AA4BnF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;;
|
1
|
+
{"version":3,"file":"use-form-control.d.ts","sourceRoot":"","sources":["use-form-control.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,oBAAoB,EAAsB,MAAM,yBAAyB,CAAC;AA4BnF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;;kBA0JpC,CAAC,YAAY,GAAG,EAAE;;;;;EA4DrD"}
|
@@ -48,7 +48,8 @@ export default function useFormControl(props) {
|
|
48
48
|
defaultValue = props.defaultValue,
|
49
49
|
rules = props.rules,
|
50
50
|
onError = props.onError,
|
51
|
-
getValidateProps = props.getValidateProps
|
51
|
+
getValidateProps = props.getValidateProps,
|
52
|
+
clearToUndefined = props.clearToUndefined;
|
52
53
|
var _useFieldSetConsumer = useFieldSetConsumer({
|
53
54
|
name: props.name,
|
54
55
|
bind: props.bind
|
@@ -106,7 +107,11 @@ export default function useFormControl(props) {
|
|
106
107
|
var nextValue = [];
|
107
108
|
name.forEach(function (n, index) {
|
108
109
|
if (_value[index] === undefined && dv[index] !== undefined) {
|
109
|
-
|
110
|
+
if (clearToUndefined) {
|
111
|
+
nextValue[index] = undefined;
|
112
|
+
} else {
|
113
|
+
nextValue[index] = dv[index];
|
114
|
+
}
|
110
115
|
} else {
|
111
116
|
nextValue[index] = _value[index];
|
112
117
|
}
|
@@ -120,7 +125,11 @@ export default function useFormControl(props) {
|
|
120
125
|
}
|
121
126
|
if (!shallowEqual(_value2, latestInfo.valueState)) {
|
122
127
|
if (_value2 === undefined && defaultValue !== undefined) {
|
123
|
-
|
128
|
+
if (clearToUndefined) {
|
129
|
+
setValueState(undefined);
|
130
|
+
} else {
|
131
|
+
setValueState(defaultValue);
|
132
|
+
}
|
124
133
|
} else {
|
125
134
|
setValueState(_value2);
|
126
135
|
}
|
@@ -24,14 +24,20 @@ export interface BaseFormControlProps<T> {
|
|
24
24
|
*/
|
25
25
|
onError: ((error: Error | undefined) => void) | undefined;
|
26
26
|
/**
|
27
|
-
* @en
|
28
|
-
* @cn
|
27
|
+
* @en Array of field names that should be re-validated when current field's value changes. Enables field linkage validation for dependent fields. Commonly used in scenarios like password confirmation, related dropdown selections, or interdependent form calculations
|
28
|
+
* @cn 当前字段值改变时需要重新校验的字段名称数组。启用字段间的联动校验功能。常用于密码确认、关联下拉选择或相互依赖的表单计算等场景
|
29
29
|
*/
|
30
30
|
bind: string[] | undefined;
|
31
31
|
/**
|
32
32
|
* @private 内部属性 for validate
|
33
33
|
*/
|
34
34
|
getValidateProps: (() => ObjectType) | undefined;
|
35
|
+
/**
|
36
|
+
* @en If set to true, the form will not automatically delete the data after the component is uninstalled
|
37
|
+
* @cn 设置为 true 组件后,有defaultValue时,允许undefined作为最终值
|
38
|
+
* @version 3.8.0
|
39
|
+
*/
|
40
|
+
clearToUndefined?: boolean;
|
35
41
|
}
|
36
42
|
export interface FormControlContext {
|
37
43
|
mounted: boolean;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-form-control.type.d.ts","sourceRoot":"","sources":["use-form-control.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB;;;OAGG;IACH,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5D;;;OAGG;IACH,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC;;;;OAIG;IACH,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACnC;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D;;;OAGG;IACH,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B;;OAEG;IACH,gBAAgB,EAAE,CAAC,MAAM,UAAU,CAAC,GAAG,SAAS,CAAC;
|
1
|
+
{"version":3,"file":"use-form-control.type.d.ts","sourceRoot":"","sources":["use-form-control.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB;;;OAGG;IACH,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5D;;;OAGG;IACH,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC;;;;OAIG;IACH,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACnC;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D;;;OAGG;IACH,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B;;OAEG;IACH,gBAAgB,EAAE,CAAC,MAAM,UAAU,CAAC,GAAG,SAAS,CAAC;IAEjD;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;CAClB"}
|
@@ -1,7 +1,15 @@
|
|
1
1
|
export interface FormDatum {
|
2
|
+
/**
|
3
|
+
* @en Set form field values. Accepts either an object to set multiple fields at once, or a field name with value to set a single field. Field names support nested paths like "user.name" or "items[0].price". Changes trigger form validation and re-render of affected Flow components
|
4
|
+
* @cn 设置表单字段值。可以接收对象以批量设置多个字段,或接收字段名和值以设置单个字段。字段名支持嵌套路径如 "user.name" 或 "items[0].price"。更改会触发表单校验和相关 Flow 组件的重新渲染
|
5
|
+
*/
|
2
6
|
set: (vals: {
|
3
7
|
[name: string]: any;
|
4
8
|
} | string, value?: any) => void;
|
9
|
+
/**
|
10
|
+
* @en Get form field value by name. When no name is provided, returns the entire form data object. Supports nested paths like "user.name" or "items[0].price" to access deeply nested values
|
11
|
+
* @cn 根据名称获取表单字段值。未提供名称时返回整个表单数据对象。支持嵌套路径如 "user.name" 或 "items[0].price" 来访问深层嵌套的值
|
12
|
+
*/
|
5
13
|
get: (name?: string) => any;
|
6
14
|
}
|
7
15
|
declare const useFormDatum: () => FormDatum | undefined;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-form-datum.d.ts","sourceRoot":"","sources":["use-form-datum.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,CAAC,IAAI,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACnE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;CAC7B;AAED,QAAA,MAAM,YAAY,6BAgBjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
1
|
+
{"version":3,"file":"use-form-datum.d.ts","sourceRoot":"","sources":["use-form-datum.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,GAAG,EAAE,CAAC,IAAI,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACnE;;;OAGG;IACH,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;CAC7B;AAED,QAAA,MAAM,YAAY,6BAgBjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":"AAiCA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAoSC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,WAAW,CAAC,EAAE,OAAO,CAAA;aAAE;8BArPnB,MAAM;oCAoUD,OAAO,aAAoB,MAAM,IAAI;;6BAf3C,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCA/RxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCAkWvB,MAAM,WAAW,gBAAgB;gCAhDzB,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCArJpD,MAAM,0BAAyB,qBAAqB;;;;;;oBA2EjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,WAAW,CAAC,EAAE,OAAO,CAAA;SAAE;0BArPnB,MAAM;gCAoUD,OAAO,aAAoB,MAAM,IAAI;;yBAf3C,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCA/RxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCAkWvB,MAAM,WAAW,gBAAgB;4BAhDzB,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BArJpD,MAAM,0BAAyB,qBAAqB;;CA0b9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
@@ -15,6 +15,7 @@ import { getDataAttributeName } from "../../utils/attribute";
|
|
15
15
|
import { insertValue, spliceValue } from "../../utils/flat";
|
16
16
|
import { usePrevious } from "../../common/use-default-value";
|
17
17
|
var globalKey = '__global__&&@@';
|
18
|
+
var SUBMIT_TIMEOUT = 10;
|
18
19
|
import { current, produce } from "../../utils/immer";
|
19
20
|
import { deepGet, deepRemove, deepSet, docScroll, extractEventHandlers, isArray, isObject, shallowEqual, wrapFormError, deepClone, getAllKeyPaths, getCompleteFieldKeys, devUseWarning, getFieldId, getClosestScrollContainer } from "../../utils";
|
20
21
|
var emptyObj = {};
|
@@ -220,13 +221,13 @@ var useForm = function useForm(props) {
|
|
220
221
|
docScroll.top -= scrollToError;
|
221
222
|
}
|
222
223
|
}
|
223
|
-
});
|
224
|
+
}, SUBMIT_TIMEOUT + 10);
|
224
225
|
};
|
225
226
|
var onChange = usePersistFn(function (change) {
|
226
227
|
var _props$onChange;
|
227
228
|
var newValue = typeof change === 'function' ? produce(context.value, change) : change;
|
228
229
|
context.value = newValue;
|
229
|
-
(_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props,
|
230
|
+
(_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, newValue);
|
230
231
|
});
|
231
232
|
var scrollToField = usePersistFn(function (name) {
|
232
233
|
var _document;
|
@@ -329,6 +330,10 @@ var useForm = function useForm(props) {
|
|
329
330
|
Object.keys(context.defaultValues).forEach(function (df) {
|
330
331
|
var latestDefaultValue = getValue(df);
|
331
332
|
if (latestDefaultValue === undefined) {
|
333
|
+
// todo: Form组件传了clearToUndefined时,加入这部分判断?
|
334
|
+
// if(context.value.hasOwnProperty(df) && clearToUndefined){
|
335
|
+
// return;
|
336
|
+
// }
|
332
337
|
setValue(_defineProperty({}, df, context.defaultValues[df]), {
|
333
338
|
validate: false
|
334
339
|
});
|
@@ -421,7 +426,7 @@ var useForm = function useForm(props) {
|
|
421
426
|
var _other$onSubmit;
|
422
427
|
submit();
|
423
428
|
other === null || other === void 0 || (_other$onSubmit = other.onSubmit) === null || _other$onSubmit === void 0 || _other$onSubmit.call(other, e);
|
424
|
-
},
|
429
|
+
}, SUBMIT_TIMEOUT);
|
425
430
|
};
|
426
431
|
};
|
427
432
|
var validateFieldset = function validateFieldset(name, config) {
|
@@ -514,6 +519,9 @@ var useForm = function useForm(props) {
|
|
514
519
|
context.names.delete(n);
|
515
520
|
delete context.defaultValues[n];
|
516
521
|
}
|
522
|
+
if (context.errors[n]) {
|
523
|
+
delete context.errors[n];
|
524
|
+
}
|
517
525
|
var finalReserveAble = (_props$reserveAble = props.reserveAble) !== null && _props$reserveAble !== void 0 ? _props$reserveAble : reserveAble;
|
518
526
|
if (!finalReserveAble && !context.removeLock) {
|
519
527
|
addRemove(n);
|
@@ -605,11 +613,6 @@ var useForm = function useForm(props) {
|
|
605
613
|
// 默认值更新
|
606
614
|
React.useEffect(function () {
|
607
615
|
context.removeLock = false;
|
608
|
-
// 内部 onChange 改的 value, 不需要更新
|
609
|
-
if (props.value === context.value) {
|
610
|
-
if (!isControl) update();
|
611
|
-
return;
|
612
|
-
}
|
613
616
|
if (initValidate && !context.resetTime) {
|
614
617
|
var keys = Object.keys(context.validateMap).filter(function (key) {
|
615
618
|
var oldValue = deepGet(preValue || emptyObj, key);
|
@@ -619,6 +622,7 @@ var useForm = function useForm(props) {
|
|
619
622
|
validateFields(keys).catch(function () {});
|
620
623
|
}
|
621
624
|
update();
|
625
|
+
if (!isControl) return;
|
622
626
|
// 默认值上位时会提前触发外部的onChange, 导致外部的多次setFormValue不能合并后生效的问题(ReactDOM.render方式渲染)
|
623
627
|
setTimeout(updateDefaultValue);
|
624
628
|
context.resetTime = 0;
|
@@ -36,44 +36,44 @@ export interface ProviderProps {
|
|
36
36
|
}
|
37
37
|
export interface FormLabelConfig {
|
38
38
|
/**
|
39
|
-
* @en The width of label. It is invalid when labelAlign is 'top'.
|
40
|
-
* @cn 标签宽度,labelAlign 为 'top'
|
39
|
+
* @en The width of label. It is invalid when labelAlign is 'top'. Uniformly sets the width of form item labels. Can be a specific pixel value (such as '140px') or percentage (such as '30%'). This configuration is invalid when labels are top-aligned. Used to maintain aligned visual effects of forms, ensuring all form item input areas are left-aligned
|
40
|
+
* @cn 标签宽度,labelAlign 为 'top' 时无效。统一设置表单项标签的宽度。可以是具体像素值(如 '140px')或百分比(如 '30%')。当标签顶部对齐时此配置无效。用于保持表单整齐的视觉效果,确保所有表单项的输入区域左对齐
|
41
41
|
* @default 140px
|
42
42
|
*/
|
43
43
|
labelWidth?: string | number;
|
44
44
|
/**
|
45
|
-
* @en The default is empty, follow the theme style.
|
46
|
-
* @cn
|
45
|
+
* @en The default is empty, follow the theme style. Label alignment. 'left' for left alignment, 'right' for right alignment, 'top' for top alignment. Different alignment methods are suitable for different form layout needs: 'right' is suitable for traditional form layouts, 'top' is suitable for mobile or compact layouts, 'left' is suitable for special design requirements
|
46
|
+
* @cn 默认为空,跟随主题样式。标签的对齐方式。'left' 左对齐,'right' 右对齐,'top' 顶部对齐。不同的对齐方式适用于不同的表单布局需求:'right' 适合传统表单布局,'top' 适合移动端或紧凑布局,'left' 适合特殊设计需求
|
47
47
|
*/
|
48
48
|
labelAlign?: 'left' | 'right' | 'top';
|
49
49
|
/**
|
50
|
-
* @en
|
51
|
-
* @cn
|
50
|
+
* @en The default value is top. Vertical alignment of labels. When labels and input boxes are on the same line (labelAlign is 'left' or 'right'), controls the vertical position of labels relative to input boxes. 'top' aligns with the top of the input box, 'middle' aligns center, 'bottom' aligns with the bottom of the input box
|
51
|
+
* @cn 默认顶部对齐。标签的垂直对齐方式。当标签和输入框在同一行时(labelAlign 为 'left' 或 'right'),控制标签相对于输入框的垂直位置。'top' 与输入框顶部对齐,'middle' 居中对齐,'bottom' 与输入框底部对齐
|
52
52
|
* @default 'top'
|
53
53
|
*/
|
54
54
|
labelVerticalAlign?: 'bottom' | 'top' | 'middle';
|
55
55
|
/**
|
56
|
-
* @en Single-line error prompt will not stretch the page height
|
57
|
-
* @cn
|
56
|
+
* @en Single-line error prompt will not stretch the page height. Keeps error prompt height fixed to avoid page jittering when error messages appear/disappear. When enabled, it reserves display space for error messages to ensure stable form height. Suitable for scenarios with high requirements for layout stability, such as long forms with many form items. Note: This configuration is invalid when keepErrorBelow is true
|
57
|
+
* @cn 单行错误提示不撑开页面高度。保持错误提示高度固定,避免错误信息出现/消失时页面抖动。开启后会预留错误信息的显示空间,确保表单高度稳定。适用于对布局稳定性要求较高的场景,如表单项较多的长表单。注意:当 keepErrorBelow 为 true 时,此配置会失效
|
58
58
|
* @default false
|
59
59
|
*/
|
60
60
|
keepErrorHeight?: boolean;
|
61
61
|
/**
|
62
|
-
* @en Whether to keep the error message below the form item, the default is false
|
63
|
-
* @cn
|
62
|
+
* @en Whether to keep the error message below the form item, the default is false. Controls the display position of error messages. When enabled, error messages are always displayed below the tip property of the form item, maintaining layout consistency. When disabled, error messages may override tip information. Suitable for scenarios where both tip and error messages need to be displayed. Note: When enabled, keepErrorHeight becomes invalid
|
63
|
+
* @cn 是否保持错误信息在提示信息下方。控制错误信息的显示位置。开启后错误信息始终显示在表单项的 tip 属性下方,保持布局的一致性。关闭时错误信息可能会覆盖 tip 信息。适用于同时需要显示提示信息和错误信息的场景。注意:开启后会使 keepErrorHeight 失效
|
64
64
|
* @default false
|
65
65
|
* @version 3.7.0
|
66
66
|
*/
|
67
67
|
keepErrorBelow?: boolean;
|
68
68
|
/**
|
69
|
-
* @en When inline is true, the form is horizontal layout
|
70
|
-
* @cn
|
69
|
+
* @en When inline is true, the form is horizontal layout. Arranges form items horizontally, suitable for simple single-line forms or filter forms. When enabled, form items will be displayed on the same line with automatic line wrapping. Usually used for search conditions, filters and other scenarios that need to save vertical space
|
70
|
+
* @cn 是否水平布局。将表单项横向排列,适用于简单的单行表单或筛选表单。开启后表单项会在同一行显示,自动换行。通常用于搜索条件、筛选器等需要节省垂直空间的场景
|
71
71
|
* @default false
|
72
72
|
*/
|
73
73
|
inline?: boolean;
|
74
74
|
/**
|
75
|
-
* @en
|
76
|
-
* @cn
|
75
|
+
* @en Uniformly controls whether to display a colon after all form item labels. Can be a boolean value (true displays default colon ':') or custom ReactNode (such as ':', '->', etc.). The colon property on Form.Item has higher priority and can override this global setting
|
76
|
+
* @cn 统一控制所有表单项标签后是否显示冒号。可以是布尔值(true 显示默认冒号 ':')或自定义的 ReactNode(如 ':'、'->'等)。Form.Item 上的 colon 属性优先级更高,可以覆盖此全局设置
|
77
77
|
* @default false
|
78
78
|
* @version 3.6.0
|
79
79
|
*/
|
@@ -81,20 +81,20 @@ export interface FormLabelConfig {
|
|
81
81
|
}
|
82
82
|
export interface FormCommonConfig extends FormLabelConfig {
|
83
83
|
/**
|
84
|
-
* @en When disabled is true, all the elements in the form are disabled.
|
85
|
-
* @cn 是否禁用,为 true 时,表单内所有元素 disabled 都为 true
|
84
|
+
* @en When disabled is true, all the elements in the form are disabled. Global control of form disabled state. Suitable for scenarios where the entire form needs to be temporarily disabled, such as viewing details or during submission. All controlled components in the form (such as Input, Select, DatePicker, etc.) will inherit this property
|
85
|
+
* @cn 是否禁用,为 true 时,表单内所有元素 disabled 都为 true。全局控制表单的禁用状态。适用于查看详情、提交中等需要临时禁用整个表单的场景。表单内所有受控组件(如 Input、Select、DatePicker 等)都会继承此属性
|
86
86
|
* @default false
|
87
87
|
*/
|
88
88
|
disabled?: boolean;
|
89
89
|
/**
|
90
|
-
* @en Form element size
|
91
|
-
* @cn
|
90
|
+
* @en Form element size. Uniformly sets the size of all components in the form. Supports three specifications: 'small', 'default', 'large', affecting input box height, font size, etc. Controlled components in the form will inherit this property, but can also be overridden individually on specific components
|
91
|
+
* @cn 表单元素的尺寸。统一设置表单内所有组件的尺寸。支持 'small'、'default'、'large' 三种规格,影响输入框高度、字体大小等。表单内的受控组件会继承此属性,也可以在具体组件上单独覆盖
|
92
92
|
* @default 'default'
|
93
93
|
*/
|
94
94
|
size?: 'small' | 'default' | 'large';
|
95
95
|
/**
|
96
|
-
* @en When set to true, the form items in Form will not automatically delete data after unmounting
|
97
|
-
* @cn 设置为 true 时,表单内所有组件的reserveAble都为 true :
|
96
|
+
* @en When set to true, the form items in Form will not automatically delete data after unmounting. Controls whether to retain data when form items are unmounted. Suitable for scenarios such as tab switching and conditional rendering to avoid losing user-filled data. When enabled, even if form items are hidden or unmounted, their data will still be retained in the form. Can be overridden individually on Form.Field components or supported form components (such as Input, Select, DatePicker, etc.)
|
97
|
+
* @cn 设置为 true 时,表单内所有组件的 reserveAble 都为 true : 卸载后不自动删除数据。控制表单项卸载时是否保留数据。适用于标签页切换、条件渲染等场景,避免用户填写的数据丢失。开启后即使表单项被隐藏或卸载,其数据仍会保留在表单中。可在 Form.Field 组件或支持的表单组件(如 Input、Select、DatePicker 等)上单独设置覆盖此全局配置
|
98
98
|
* @default false
|
99
99
|
* @version 3.5.0
|
100
100
|
*/
|
@@ -131,54 +131,58 @@ export interface BaseFormProps<T> extends Omit<FormCommonConfig, 'formName'> {
|
|
131
131
|
value?: T;
|
132
132
|
onChange?: (value: T) => void;
|
133
133
|
/**
|
134
|
-
* @en
|
135
|
-
* @cn
|
134
|
+
* @en Initial value of the form in uncontrolled mode. Only effective when the component is first rendered, subsequent modifications will not affect the internal data of the form. Suitable for scenarios where form data is managed internally by the component, such as creating new forms, standalone forms, etc.
|
135
|
+
* @cn 非受控模式下的表单初始值。仅在组件首次渲染时生效,后续修改不会影响表单内部数据。适用于表单数据由组件内部管理的场景,如新建表单、独立表单等
|
136
136
|
*/
|
137
137
|
defaultValue?: T;
|
138
138
|
/**
|
139
|
-
* @
|
139
|
+
* @en When the form value changes, whether to automatically trigger validation. When enabled, validation results can be displayed in real time when data changes, suitable for scenarios that require immediate feedback. Note: Only effective in controlled mode
|
140
|
+
* @cn 当表单 value 发生变化时,是否自动触发校验。开启后可以在数据变化时实时显示校验结果,适用于需要即时反馈的场景。注意:仅在受控模式下有效
|
141
|
+
* @default false
|
140
142
|
*/
|
141
143
|
initValidate?: boolean;
|
142
144
|
/**
|
143
|
-
* @en
|
144
|
-
* @cn
|
145
|
+
* @en Callback function when the form is submitted. Only called when all fields pass validation, with the parameter being the complete form data. Usually used to handle form data submission logic, such as sending requests to the server. Can be triggered with Form.Submit button or formRef.submit() method
|
146
|
+
* @cn 表单提交时的回调函数。只有当所有字段校验通过后才会调用,参数为完整的表单数据。通常用于处理表单数据的提交逻辑,如发送请求到服务器。可配合 Form.Submit 按钮或 formRef.submit() 方法触发
|
145
147
|
*/
|
146
148
|
onSubmit?: (value: T) => void;
|
147
149
|
/**
|
148
|
-
* @
|
149
|
-
* @
|
150
|
+
* @en Callback function when the form is reset. Triggered after the form is reset to initial value (defaultValue or empty value). Can be used to execute additional reset logic, such as clearing related states, resetting related components, etc. Used with Form.Reset button or formRef.reset() method
|
151
|
+
* @cn 表单重置时的回调函数。在表单被重置为初始值(defaultValue 或空值)后触发。可用于执行额外的重置逻辑,如清除关联状态、重置相关组件等。配合 Form.Reset 按钮或 formRef.reset() 方法使用
|
150
152
|
*/
|
151
153
|
onReset?: () => void;
|
152
154
|
/**
|
153
|
-
* @en When the
|
154
|
-
* @cn
|
155
|
+
* @en When the form is long, automatically scrolling to the error position can help users quickly locate problems. Set to true to use default scrolling, set to a number to adjust the offset of the scroll position to avoid being blocked by fixed headers
|
156
|
+
* @cn 当表单较长时,自动滚动到错误位置可以帮助用户快速定位问题。设置为 true 时使用默认滚动,设置为数字时可以调整滚动位置的偏移量,避免被固定头部遮挡
|
155
157
|
* @default false
|
156
158
|
*/
|
157
159
|
scrollToError?: boolean | number;
|
158
160
|
/**
|
159
|
-
* @en rules validation
|
160
|
-
* @cn
|
161
|
+
* @en Error callback function when validation rules are triggered. Called when any field validation fails, with the parameter being the error object. Can be used to uniformly handle validation errors, such as logging, displaying global notifications, reporting errors, etc.
|
162
|
+
* @cn 校验规则触发时的错误回调函数。当任意字段校验失败时调用,参数为错误对象。可用于统一处理校验错误,如记录日志、显示全局通知、上报错误等
|
161
163
|
*/
|
162
164
|
onError?: (error: Error) => void;
|
163
165
|
/**
|
164
|
-
* @
|
166
|
+
* @en Whether to automatically remove fields with undefined values when submitting the form. When enabled, it can avoid submitting meaningless empty values and keep data clean. Especially suitable for interfacing with backend APIs to avoid passing unnecessary undefined values
|
167
|
+
* @cn 提交表单时是否自动移除值为 undefined 的字段。开启后可以避免提交无意义的空值,保持数据整洁。特别适用于与后端 API 对接时,避免传递不必要的 undefined 值
|
165
168
|
* @default true
|
166
169
|
*/
|
167
170
|
removeUndefined?: boolean;
|
168
171
|
/**
|
169
|
-
* @en
|
170
|
-
* @cn
|
172
|
+
* @en Form-level validation rule configuration. Supports nested object rule definitions, and can set validation rules for any field in the form. The key of the rule object corresponds to the form field path (such as 'name', 'user.email', 'list[0].id'), and the value is the validation rule array (FormItemRule) for that field. These rules will be merged with the rules property set on the Form.Field component, with Form-level rules executing first. For rule types, please refer to the Rule component documentation
|
173
|
+
* @cn 表单级别的校验规则配置。支持嵌套对象的规则定义,可以为表单的任意字段设置校验规则。规则对象的 key 对应表单字段路径(如 'name'、'user.email'、'list[0].id'),value 为该字段的校验规则数组(FormItemRule)。这些规则会与 Form.Field 组件上设置的 rules 属性合并,Form 级别的规则会先执行。规则类型请参考 Rule 组件文档
|
171
174
|
* @override RuleItem[]
|
172
175
|
*/
|
173
176
|
rules?: FormRuleObject<any>;
|
174
177
|
/**
|
175
|
-
* @
|
178
|
+
* @en Throttle time to prevent users from clicking the submit button frequently. Repeated clicks on submit within this time will be ignored, effectively avoiding duplicate submission issues. Suitable for scenarios with slow network requests or long processing times
|
179
|
+
* @cn 防止用户频繁点击提交按钮的节流时间。在此时间内重复点击提交将被忽略,有效避免重复提交问题。适用于网络请求较慢或处理时间较长的场景
|
176
180
|
* @default 1000
|
177
181
|
*/
|
178
182
|
throttle?: number;
|
179
183
|
/**
|
180
|
-
* @
|
181
|
-
* @
|
184
|
+
* @en Specify the scroll container element. When the form is not scrolling directly on document.body (such as in a modal or drawer), you need to specify the actual scroll container to ensure correct scrolling to the error position. Returns null to use default scrolling behavior
|
185
|
+
* @cn 指定滚动容器元素。当表单不在 document.body 直接滚动时(如在弹窗、抽屉中),需要指定实际的滚动容器以确保正确滚动到错误位置。返回 null 时使用默认滚动行为
|
182
186
|
*/
|
183
187
|
scrollParent?: () => HTMLElement | null;
|
184
188
|
/**
|
@@ -186,8 +190,8 @@ export interface BaseFormProps<T> extends Omit<FormCommonConfig, 'formName'> {
|
|
186
190
|
*/
|
187
191
|
error?: ObjectType<string | Error>;
|
188
192
|
/**
|
189
|
-
* @en
|
190
|
-
* @cn
|
193
|
+
* @en Unique identifier name of the form. After setting, it will be used as the prefix for all form field ids to ensure that ids do not conflict when multiple forms coexist. Also enables the formRef.scrollToField method to quickly locate specified fields by field name
|
194
|
+
* @cn 表单的唯一标识名称。设置后会作为所有表单字段 id 的前缀,确保多个表单共存时 id 不冲突。同时启用 formRef.scrollToField 方法,可以通过字段名称快速定位到指定字段
|
191
195
|
* @version 3.5.3
|
192
196
|
*/
|
193
197
|
name?: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-form.type.d.ts","sourceRoot":"","sources":["use-form.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC;IACV,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,EAAE,CAAC;CACL;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,CACvB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,UAAU,EACpB,MAAM,CAAC,EAAE,gBAAgB,KACtB,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;AAE/B,MAAM,MAAM,QAAQ,GAAG,CACrB,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,EACrC,YAAY,EAAE,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,KACxC,IAAI,CAAC;AAEV,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;QAC7F,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC;QAC3E,YAAY,EAAE,CAAC,SAAS,EACtB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,KAC/B,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;QACjE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;KACpE,CAAC;IACF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AACD,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IACtC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;IACjD;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC;CACnC;AACD,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IAErC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,GAAG;IAC/B,QAAQ,EAAE,CACR,IAAI,EAAE;QACJ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,EACD,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,KACE,IAAI,CAAC;IACV,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;IACjC,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC;IACvD,SAAS,EAAE,MAAM,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IAC/C,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACpE,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAClE,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAED,UAAU,cAAc,CAAC,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAC1E,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB
|
1
|
+
{"version":3,"file":"use-form.type.d.ts","sourceRoot":"","sources":["use-form.type.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-input-format.d.ts","sourceRoot":"","sources":["use-input-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
1
|
+
{"version":3,"file":"use-input-format.d.ts","sourceRoot":"","sources":["use-input-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAO3D,QAAA,MAAM,cAAc,UAAW,gBAAgB;kBAsBP,MAAM,GAAG,SAAS;gBAoCpB,gBAAgB,CAAC,gBAAgB,CAAC;iBAgDhC,gBAAgB,CAAC,gBAAgB,CAAC;;;CAyBzE,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
@@ -6,6 +6,7 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
6
6
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
7
7
|
import React from 'react';
|
8
8
|
import usePersistFn from "../../common/use-persist-fn";
|
9
|
+
import { preciseString } from "../../utils/number";
|
9
10
|
function regLength(size) {
|
10
11
|
return /\d+/.test(String(size)) && size > 0 ? "{0,".concat(size, "}") : '*';
|
11
12
|
}
|
@@ -89,7 +90,7 @@ var useInputFormat = function useInputFormat(props) {
|
|
89
90
|
if (numType === 'positive' && Number(value) <= 0) value = '';
|
90
91
|
if (digits !== undefined && autoFix) {
|
91
92
|
if (digits > 0) {
|
92
|
-
value =
|
93
|
+
value = preciseString(value, digits);
|
93
94
|
} else if (digits === 0) {
|
94
95
|
value = parseInt(value, 10).toString();
|
95
96
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-input.d.ts","sourceRoot":"","sources":["use-input.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAa5D,QAAA,MAAM,QAAQ,WAAY,cAAc;;;;;;;
|
1
|
+
{"version":3,"file":"use-input.d.ts","sourceRoot":"","sources":["use-input.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAa5D,QAAA,MAAM,QAAQ,WAAY,cAAc;;;;;;;CA4IvC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
@@ -88,7 +88,10 @@ var useInput = function useInput(params) {
|
|
88
88
|
(_otherHandlers$onFocu = otherHandlers.onFocus) === null || _otherHandlers$onFocu === void 0 || _otherHandlers$onFocu.call(otherHandlers, event);
|
89
89
|
setFocused(true);
|
90
90
|
if (autoSelect) {
|
91
|
-
|
91
|
+
// why requestAnimationFrame: 当在文字身体上hover后立即点击,select()与浏览器的光标定位逻辑产生竞争,有可能导致只选中的部分文本,所以需要延迟一下
|
92
|
+
requestAnimationFrame(function () {
|
93
|
+
event.target.select();
|
94
|
+
});
|
92
95
|
}
|
93
96
|
};
|
94
97
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-pagination.d.ts","sourceRoot":"","sources":["use-pagination.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,QAAA,MAAM,aAAa,UAAW,mBAAmB;;;;kBAqBT,MAAM,SAAS,MAAM;;;;;;;
|
1
|
+
{"version":3,"file":"use-pagination.d.ts","sourceRoot":"","sources":["use-pagination.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,QAAA,MAAM,aAAa,UAAW,mBAAmB;;;;kBAqBT,MAAM,SAAS,MAAM;;;;;;;CAkC5D,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
@@ -55,7 +55,8 @@ var usePagination = function usePagination(props) {
|
|
55
55
|
return _objectSpread({}, mergedEventHandlers);
|
56
56
|
};
|
57
57
|
return {
|
58
|
-
|
58
|
+
// current,
|
59
|
+
current: currentProp !== undefined ? currentProp : current,
|
59
60
|
pageSize: pageSize,
|
60
61
|
total: total,
|
61
62
|
onChange: handleChange,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-popup.d.ts","sourceRoot":"","sources":["use-popup.ts"],"names":[],"mappings":"AAAA,OAAO,KAA4E,MAAM,OAAO,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAOhE,QAAA,MAAM,QAAQ,UAAW,cAAc;;;;;;0BAkIK;YAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;SAAE;
|
1
|
+
{"version":3,"file":"use-popup.d.ts","sourceRoot":"","sources":["use-popup.ts"],"names":[],"mappings":"AAAA,OAAO,KAA4E,MAAM,OAAO,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAOhE,QAAA,MAAM,QAAQ,UAAW,cAAc;;;;;;0BAkIK;YAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;SAAE;0BAS9B;YAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;SAAE;;;;;qBA/B7B;YAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;2BApFzC,MAAM,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC;8BAOvC,MAAM,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC;2BA8JxD,MAAM,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC;6BAMxC,MAAM,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC;;CA8BlE,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
@@ -135,17 +135,20 @@ var usePopup = function usePopup(props) {
|
|
135
135
|
}
|
136
136
|
};
|
137
137
|
var handleMouseEnter = usePersistFn(function (e) {
|
138
|
-
var _targetEvents$onMouse;
|
138
|
+
var _targetEvents$onMouse, _targetRef$current, _popupRef$current2;
|
139
139
|
targetEvents === null || targetEvents === void 0 || (_targetEvents$onMouse = targetEvents.onMouseEnter) === null || _targetEvents$onMouse === void 0 || _targetEvents$onMouse.call(targetEvents, e);
|
140
140
|
if (trigger !== 'hover') return;
|
141
|
-
|
141
|
+
var isParentContainsCurrent = (_targetRef$current = targetRef.current) === null || _targetRef$current === void 0 ? void 0 : _targetRef$current.contains(e.target);
|
142
|
+
if (isParentContainsCurrent || popupRef !== null && popupRef !== void 0 && (_popupRef$current2 = popupRef.current) !== null && _popupRef$current2 !== void 0 && _popupRef$current2.contains(e.target)) {
|
143
|
+
handleHoverToggle(true);
|
144
|
+
}
|
142
145
|
});
|
143
146
|
var handleMouseLeave = usePersistFn(function (e) {
|
144
|
-
var _targetEvents$onMouse2, _popupRef$
|
147
|
+
var _targetEvents$onMouse2, _popupRef$current3;
|
145
148
|
targetEvents === null || targetEvents === void 0 || (_targetEvents$onMouse2 = targetEvents.onMouseLeave) === null || _targetEvents$onMouse2 === void 0 || _targetEvents$onMouse2.call(targetEvents, e);
|
146
149
|
if (trigger !== 'hover') return;
|
147
150
|
// @ts-ignore
|
148
|
-
if (e.relatedTarget instanceof HTMLElement && (_popupRef$
|
151
|
+
if (e.relatedTarget instanceof HTMLElement && (_popupRef$current3 = popupRef.current) !== null && _popupRef$current3 !== void 0 && _popupRef$current3.contains(e.relatedTarget)) {
|
149
152
|
return;
|
150
153
|
}
|
151
154
|
handleHoverToggle(false);
|
@@ -11,7 +11,8 @@ interface UseTableVirtualProps {
|
|
11
11
|
isRtl?: boolean;
|
12
12
|
columns: TableFormatColumn<any>[];
|
13
13
|
colgroup: (number | string | undefined)[];
|
14
|
-
|
14
|
+
theadHeight: number;
|
15
|
+
tfootHeight: number;
|
15
16
|
}
|
16
17
|
declare const useTableVirtual: (props: UseTableVirtualProps) => {
|
17
18
|
scrollHeight: number;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAWrD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,
|
1
|
+
{"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAWrD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;oBAqLpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BAnGuB,MAAM,UAAU,MAAM;2BAsIrB,MAAM,aAAa,MAAM,IAAI;qCAoBnB,MAAM;mCAUR,MAAM,GAAG,MAAM;CA0GnE,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
@@ -123,7 +123,7 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
123
123
|
for (var i = 0; i <= index; i++) {
|
124
124
|
sum += context.cachedHeight[i] || props.rowHeight;
|
125
125
|
}
|
126
|
-
return sum + props.
|
126
|
+
return sum + props.theadHeight + props.tfootHeight;
|
127
127
|
};
|
128
128
|
var setRowHeight = usePersistFn(function (index, height) {
|
129
129
|
if (props.disabled) return;
|
@@ -266,7 +266,7 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
266
266
|
callback();
|
267
267
|
}
|
268
268
|
};
|
269
|
-
props.scrollRef.current.scrollTop = beforeHeight;
|
269
|
+
props.scrollRef.current.scrollTop = beforeHeight - props.theadHeight;
|
270
270
|
}
|
271
271
|
});
|
272
272
|
var scrollColumnByLeft = usePersistFn(function (targetLeft) {
|
@@ -343,7 +343,7 @@ var useTableVirtual = function useTableVirtual(props) {
|
|
343
343
|
useEffect(function () {
|
344
344
|
if (props.disabled) return;
|
345
345
|
setHeight(getContentHeight(props.data.length - 1));
|
346
|
-
}, [props.data.length, props.
|
346
|
+
}, [props.data.length, props.theadHeight, props.tfootHeight]);
|
347
347
|
useEffect(function () {
|
348
348
|
if (props.disabled) return;
|
349
349
|
if (context.heightCallback) {
|