@openli1115/lowcode-edit-pro-table 1.0.63 → 1.0.64
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/build/docs/404.html +3 -3
- package/build/docs/_demos/:uuid +3 -3
- package/build/docs/colorful-button.html +3 -3
- package/build/docs/colorful-input.html +3 -3
- package/build/docs/index.html +3 -3
- package/build/docs/{umi.5bc03e6c.js → umi.d88fc779.js} +1 -1
- package/build/docs/~demos/:uuid.html +3 -3
- package/build/docs/~demos/colorful-button-demo.html +3 -3
- package/build/docs/~demos/colorful-input-demo.html +3 -3
- package/build/lowcode/assets-daily.json +13 -13
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +13 -13
- package/build/lowcode/meta.design.js +1 -1
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/render/default/view.js +1 -1
- package/build/lowcode/view.js +1 -1
- package/dist/BizComps.js +1 -1
- package/dist/BizComps.js.map +1 -1
- package/es/context/FormProvider.js +14 -2
- package/lib/context/FormProvider.js +14 -2
- package/lowcode_es/meta.js +1 -1
- package/lowcode_lib/meta.js +1 -1
- package/package.json +3 -3
|
@@ -46,6 +46,13 @@ export var FormProvider = function FormProvider(_ref) {
|
|
|
46
46
|
var valuesRef = useRef(values);
|
|
47
47
|
valuesRef.current = values;
|
|
48
48
|
|
|
49
|
+
/**
|
|
50
|
+
* 由 setFieldValue → onChange 写回 previewStore 后,父组件会把同一帧/下一帧的 screenStructures 再塞回 initialValues。
|
|
51
|
+
* 旧数据 + 大表场景下 lodash isEqual 仍可能因类型/多余字段判成不等;Windows 上渲染更慢,Fusion Overlay 反复 setPosition,
|
|
52
|
+
* 极易 #185。此处用「计数跳过」不依赖深度比较是否相等。
|
|
53
|
+
*/
|
|
54
|
+
var pendingSkipStoreResyncRef = useRef(0);
|
|
55
|
+
|
|
49
56
|
/**
|
|
50
57
|
* store 每次 dispatch 都会给新的 screenStructures 引用;若内容与表单 state 实际一致仍 setValues,
|
|
51
58
|
* 会整页重渲染(含 EditProTable、ss_xxx_tab 等大表),Fusion Overlay/Select 反复 setPosition,
|
|
@@ -56,6 +63,11 @@ export var FormProvider = function FormProvider(_ref) {
|
|
|
56
63
|
* 因此:initialValues 与当前表单 values 深度相等时,一律不再 setValues。
|
|
57
64
|
*/
|
|
58
65
|
useEffect(function () {
|
|
66
|
+
if (pendingSkipStoreResyncRef.current > 0) {
|
|
67
|
+
pendingSkipStoreResyncRef.current = 0;
|
|
68
|
+
initialValuesRef.current = initialValues;
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
59
71
|
if (isEqual(initialValues, valuesRef.current)) {
|
|
60
72
|
initialValuesRef.current = initialValues;
|
|
61
73
|
return;
|
|
@@ -86,10 +98,10 @@ export var FormProvider = function FormProvider(_ref) {
|
|
|
86
98
|
set(newValues, path, value);
|
|
87
99
|
console.log("[FormProvider] \uD83D\uDCDD Set field '" + path + "' to:", value);
|
|
88
100
|
|
|
89
|
-
// 触发 onChange
|
|
101
|
+
// 触发 onChange 回调,把新值通知到外部 store;计数放在微任务首行,避免早于「store 回灌」的 effect 误消费
|
|
90
102
|
if (onChange) {
|
|
91
|
-
// 使用微任务避免阻塞渲染
|
|
92
103
|
Promise.resolve().then(function () {
|
|
104
|
+
pendingSkipStoreResyncRef.current += 1;
|
|
93
105
|
onChange(newValues);
|
|
94
106
|
});
|
|
95
107
|
}
|
|
@@ -52,6 +52,13 @@ var FormProvider = exports.FormProvider = function FormProvider(_ref) {
|
|
|
52
52
|
var valuesRef = useRef(values);
|
|
53
53
|
valuesRef.current = values;
|
|
54
54
|
|
|
55
|
+
/**
|
|
56
|
+
* 由 setFieldValue → onChange 写回 previewStore 后,父组件会把同一帧/下一帧的 screenStructures 再塞回 initialValues。
|
|
57
|
+
* 旧数据 + 大表场景下 lodash isEqual 仍可能因类型/多余字段判成不等;Windows 上渲染更慢,Fusion Overlay 反复 setPosition,
|
|
58
|
+
* 极易 #185。此处用「计数跳过」不依赖深度比较是否相等。
|
|
59
|
+
*/
|
|
60
|
+
var pendingSkipStoreResyncRef = useRef(0);
|
|
61
|
+
|
|
55
62
|
/**
|
|
56
63
|
* store 每次 dispatch 都会给新的 screenStructures 引用;若内容与表单 state 实际一致仍 setValues,
|
|
57
64
|
* 会整页重渲染(含 EditProTable、ss_xxx_tab 等大表),Fusion Overlay/Select 反复 setPosition,
|
|
@@ -62,6 +69,11 @@ var FormProvider = exports.FormProvider = function FormProvider(_ref) {
|
|
|
62
69
|
* 因此:initialValues 与当前表单 values 深度相等时,一律不再 setValues。
|
|
63
70
|
*/
|
|
64
71
|
useEffect(function () {
|
|
72
|
+
if (pendingSkipStoreResyncRef.current > 0) {
|
|
73
|
+
pendingSkipStoreResyncRef.current = 0;
|
|
74
|
+
initialValuesRef.current = initialValues;
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
65
77
|
if ((0, _lodash.isEqual)(initialValues, valuesRef.current)) {
|
|
66
78
|
initialValuesRef.current = initialValues;
|
|
67
79
|
return;
|
|
@@ -92,10 +104,10 @@ var FormProvider = exports.FormProvider = function FormProvider(_ref) {
|
|
|
92
104
|
(0, _lodash.set)(newValues, path, value);
|
|
93
105
|
console.log("[FormProvider] \uD83D\uDCDD Set field '" + path + "' to:", value);
|
|
94
106
|
|
|
95
|
-
// 触发 onChange
|
|
107
|
+
// 触发 onChange 回调,把新值通知到外部 store;计数放在微任务首行,避免早于「store 回灌」的 effect 误消费
|
|
96
108
|
if (onChange) {
|
|
97
|
-
// 使用微任务避免阻塞渲染
|
|
98
109
|
Promise.resolve().then(function () {
|
|
110
|
+
pendingSkipStoreResyncRef.current += 1;
|
|
99
111
|
onChange(newValues);
|
|
100
112
|
});
|
|
101
113
|
}
|
package/lowcode_es/meta.js
CHANGED
|
@@ -101,7 +101,7 @@ function fillRealVersion(meta, packageName, version, basicLibraryVersion) {
|
|
|
101
101
|
packageName = '@openli1115/lowcode-edit-pro-table';
|
|
102
102
|
}
|
|
103
103
|
if (version === void 0) {
|
|
104
|
-
version = '1.0.
|
|
104
|
+
version = '1.0.64';
|
|
105
105
|
}
|
|
106
106
|
if (basicLibraryVersion === void 0) {
|
|
107
107
|
basicLibraryVersion = {
|
package/lowcode_lib/meta.js
CHANGED
|
@@ -106,7 +106,7 @@ function fillRealVersion(meta, packageName, version, basicLibraryVersion) {
|
|
|
106
106
|
packageName = '@openli1115/lowcode-edit-pro-table';
|
|
107
107
|
}
|
|
108
108
|
if (version === void 0) {
|
|
109
|
-
version = '1.0.
|
|
109
|
+
version = '1.0.64';
|
|
110
110
|
}
|
|
111
111
|
if (basicLibraryVersion === void 0) {
|
|
112
112
|
basicLibraryVersion = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openli1115/lowcode-edit-pro-table",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.64",
|
|
4
4
|
"description": "@openli1115/lowcode-edit-pro-table",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -101,10 +101,10 @@
|
|
|
101
101
|
},
|
|
102
102
|
"componentConfig": {
|
|
103
103
|
"isComponentLibrary": true,
|
|
104
|
-
"materialSchema": "https://unpkg.com/@openli1115/lowcode-edit-pro-table@1.0.
|
|
104
|
+
"materialSchema": "https://unpkg.com/@openli1115/lowcode-edit-pro-table@1.0.64/build/lowcode/assets-prod.json"
|
|
105
105
|
},
|
|
106
106
|
"lcMeta": {
|
|
107
107
|
"type": "component"
|
|
108
108
|
},
|
|
109
|
-
"homepage": "https://unpkg.com/@openli1115/lowcode-edit-pro-table@1.0.
|
|
109
|
+
"homepage": "https://unpkg.com/@openli1115/lowcode-edit-pro-table@1.0.64/build/index.html"
|
|
110
110
|
}
|