@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,yCAuGjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
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: v,
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,yCAuGjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
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: v,
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.24",
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.24",
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"