@sheinx/base 3.8.0-beta.24 → 3.8.0-beta.25
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-fieldset.d.ts","sourceRoot":"","sources":["form-fieldset.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,QAAA,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"form-fieldset.d.ts","sourceRoot":"","sources":["form-fieldset.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,QAAA,MAAM,YAAY,yCAoJjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -72,6 +72,48 @@ var FormFieldSet = function FormFieldSet(props) {
|
|
|
72
72
|
// }
|
|
73
73
|
|
|
74
74
|
return valueArr.map(function (v, i) {
|
|
75
|
+
// 创建一个代理对象,让 {...value} 操作能获取最新值
|
|
76
|
+
// 确保 target 是一个对象,避免 Proxy 报错
|
|
77
|
+
var target = v && _typeof(v) === 'object' ? v : {};
|
|
78
|
+
var valueProxy = new Proxy(target, {
|
|
79
|
+
get: function get(target, prop) {
|
|
80
|
+
var currentValue = formFunc === null || formFunc === void 0 ? void 0 : formFunc.getValue(name);
|
|
81
|
+
var latestItem = Array.isArray(currentValue) ? currentValue[i] : v;
|
|
82
|
+
|
|
83
|
+
// 如果最新值是对象,返回对象的属性
|
|
84
|
+
if (latestItem && _typeof(latestItem) === 'object') {
|
|
85
|
+
return latestItem[prop];
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// 如果最新值是基本类型,但原始target是对象,从target获取
|
|
89
|
+
if (target && _typeof(target) === 'object' && prop in target) {
|
|
90
|
+
return target[prop];
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// 其他情况返回undefined
|
|
94
|
+
return undefined;
|
|
95
|
+
},
|
|
96
|
+
ownKeys: function ownKeys(target) {
|
|
97
|
+
var currentValue = formFunc === null || formFunc === void 0 ? void 0 : formFunc.getValue(name);
|
|
98
|
+
var latestItem = Array.isArray(currentValue) ? currentValue[i] : v;
|
|
99
|
+
if (latestItem && _typeof(latestItem) === 'object') {
|
|
100
|
+
return Object.keys(latestItem);
|
|
101
|
+
}
|
|
102
|
+
return Object.keys(target || {});
|
|
103
|
+
},
|
|
104
|
+
getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, prop) {
|
|
105
|
+
var currentValue = formFunc === null || formFunc === void 0 ? void 0 : formFunc.getValue(name);
|
|
106
|
+
var latestItem = Array.isArray(currentValue) ? currentValue[i] : v;
|
|
107
|
+
if (latestItem && _typeof(latestItem) === 'object' && prop in latestItem) {
|
|
108
|
+
return {
|
|
109
|
+
enumerable: true,
|
|
110
|
+
configurable: true,
|
|
111
|
+
value: latestItem[prop]
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
return Object.getOwnPropertyDescriptor(target || {}, prop);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
75
117
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Provider, {
|
|
76
118
|
value: {
|
|
77
119
|
path: "".concat(ProviderValue.path, "[").concat(i, "]"),
|
|
@@ -79,7 +121,7 @@ var FormFieldSet = function FormFieldSet(props) {
|
|
|
79
121
|
},
|
|
80
122
|
children: children({
|
|
81
123
|
list: valueArr,
|
|
82
|
-
value:
|
|
124
|
+
value: valueProxy,
|
|
83
125
|
index: i,
|
|
84
126
|
error: errorList,
|
|
85
127
|
onChange: function onChange(val, options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-fieldset.d.ts","sourceRoot":"","sources":["form-fieldset.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,QAAA,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"form-fieldset.d.ts","sourceRoot":"","sources":["form-fieldset.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,QAAA,MAAM,YAAY,yCAoJjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -65,6 +65,48 @@ var FormFieldSet = function FormFieldSet(props) {
|
|
|
65
65
|
// }
|
|
66
66
|
|
|
67
67
|
return valueArr.map(function (v, i) {
|
|
68
|
+
// 创建一个代理对象,让 {...value} 操作能获取最新值
|
|
69
|
+
// 确保 target 是一个对象,避免 Proxy 报错
|
|
70
|
+
var target = v && _typeof(v) === 'object' ? v : {};
|
|
71
|
+
var valueProxy = new Proxy(target, {
|
|
72
|
+
get: function get(target, prop) {
|
|
73
|
+
var currentValue = formFunc === null || formFunc === void 0 ? void 0 : formFunc.getValue(name);
|
|
74
|
+
var latestItem = Array.isArray(currentValue) ? currentValue[i] : v;
|
|
75
|
+
|
|
76
|
+
// 如果最新值是对象,返回对象的属性
|
|
77
|
+
if (latestItem && _typeof(latestItem) === 'object') {
|
|
78
|
+
return latestItem[prop];
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// 如果最新值是基本类型,但原始target是对象,从target获取
|
|
82
|
+
if (target && _typeof(target) === 'object' && prop in target) {
|
|
83
|
+
return target[prop];
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// 其他情况返回undefined
|
|
87
|
+
return undefined;
|
|
88
|
+
},
|
|
89
|
+
ownKeys: function ownKeys(target) {
|
|
90
|
+
var currentValue = formFunc === null || formFunc === void 0 ? void 0 : formFunc.getValue(name);
|
|
91
|
+
var latestItem = Array.isArray(currentValue) ? currentValue[i] : v;
|
|
92
|
+
if (latestItem && _typeof(latestItem) === 'object') {
|
|
93
|
+
return Object.keys(latestItem);
|
|
94
|
+
}
|
|
95
|
+
return Object.keys(target || {});
|
|
96
|
+
},
|
|
97
|
+
getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, prop) {
|
|
98
|
+
var currentValue = formFunc === null || formFunc === void 0 ? void 0 : formFunc.getValue(name);
|
|
99
|
+
var latestItem = Array.isArray(currentValue) ? currentValue[i] : v;
|
|
100
|
+
if (latestItem && _typeof(latestItem) === 'object' && prop in latestItem) {
|
|
101
|
+
return {
|
|
102
|
+
enumerable: true,
|
|
103
|
+
configurable: true,
|
|
104
|
+
value: latestItem[prop]
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
return Object.getOwnPropertyDescriptor(target || {}, prop);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
68
110
|
return /*#__PURE__*/_jsx(Provider, {
|
|
69
111
|
value: {
|
|
70
112
|
path: "".concat(ProviderValue.path, "[").concat(i, "]"),
|
|
@@ -72,7 +114,7 @@ var FormFieldSet = function FormFieldSet(props) {
|
|
|
72
114
|
},
|
|
73
115
|
children: children({
|
|
74
116
|
list: valueArr,
|
|
75
|
-
value:
|
|
117
|
+
value: valueProxy,
|
|
76
118
|
index: i,
|
|
77
119
|
error: errorList,
|
|
78
120
|
onChange: function onChange(val, options) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sheinx/base",
|
|
3
|
-
"version": "3.8.0-beta.
|
|
3
|
+
"version": "3.8.0-beta.25",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "MIT",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"module": "./esm/index.js",
|
|
11
11
|
"typings": "./cjs/index.d.ts",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@sheinx/hooks": "3.8.0-beta.
|
|
13
|
+
"@sheinx/hooks": "3.8.0-beta.25",
|
|
14
14
|
"immer": "^10.0.0",
|
|
15
15
|
"classnames": "^2.0.0",
|
|
16
16
|
"@shined/reactive": "^0.1.3-alpha.0"
|