amis-core 3.5.2 → 3.6.0

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.
Files changed (285) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +2 -2
  4. package/esm/SchemaRenderer.js +1 -1
  5. package/esm/Scoped.d.ts +2 -0
  6. package/esm/Scoped.js +49 -7
  7. package/esm/StatusScoped.js +1 -1
  8. package/esm/WithRootStore.js +1 -1
  9. package/esm/WithStore.js +27 -12
  10. package/esm/actions/Action.js +30 -22
  11. package/esm/actions/AjaxAction.js +2 -2
  12. package/esm/actions/BreakAction.js +1 -1
  13. package/esm/actions/BroadcastAction.js +1 -1
  14. package/esm/actions/CmptAction.js +31 -32
  15. package/esm/actions/ContinueAction.js +1 -1
  16. package/esm/actions/CopyAction.js +3 -3
  17. package/esm/actions/CustomAction.js +1 -1
  18. package/esm/actions/DialogAction.js +1 -1
  19. package/esm/actions/DrawerAction.js +1 -1
  20. package/esm/actions/EmailAction.js +1 -1
  21. package/esm/actions/LinkAction.js +5 -5
  22. package/esm/actions/LoopAction.js +1 -1
  23. package/esm/actions/PageAction.js +1 -1
  24. package/esm/actions/ParallelAction.js +1 -1
  25. package/esm/actions/StatusAction.js +1 -1
  26. package/esm/actions/SwitchAction.js +1 -1
  27. package/esm/actions/ToastAction.js +3 -3
  28. package/esm/components/CustomStyle.js +1 -1
  29. package/esm/components/ErrorBoundary.d.ts +20 -0
  30. package/esm/components/ErrorBoundary.js +41 -0
  31. package/esm/components/LazyComponent.js +1 -1
  32. package/esm/components/Overlay.js +1 -1
  33. package/esm/components/PopOver.d.ts +4 -0
  34. package/esm/components/PopOver.js +66 -3
  35. package/esm/env.d.ts +9 -0
  36. package/esm/env.js +1 -1
  37. package/esm/envOverwrite.d.ts +1 -1
  38. package/esm/envOverwrite.js +15 -35
  39. package/esm/factory.js +1 -1
  40. package/esm/index.d.ts +2 -1
  41. package/esm/index.js +5 -4
  42. package/esm/locale.js +1 -1
  43. package/esm/polyfills.js +1 -1
  44. package/esm/renderers/Form.d.ts +10 -4
  45. package/esm/renderers/Form.js +64 -32
  46. package/esm/renderers/Item.d.ts +54 -0
  47. package/esm/renderers/Item.js +1 -1
  48. package/esm/renderers/Options.d.ts +5 -1
  49. package/esm/renderers/Options.js +11 -9
  50. package/esm/renderers/Placeholder.js +1 -1
  51. package/esm/renderers/builtin.js +1 -1
  52. package/esm/renderers/register.js +1 -1
  53. package/esm/renderers/wrapControl.js +10 -17
  54. package/esm/store/app.js +1 -1
  55. package/esm/store/combo.d.ts +1154 -48
  56. package/esm/store/combo.js +10 -3
  57. package/esm/store/crud.d.ts +9 -1
  58. package/esm/store/crud.js +50 -15
  59. package/esm/store/form.d.ts +480 -20
  60. package/esm/store/form.js +1 -1
  61. package/esm/store/formItem.d.ts +23 -1
  62. package/esm/store/formItem.js +103 -15
  63. package/esm/store/iRenderer.js +1 -1
  64. package/esm/store/index.js +1 -1
  65. package/esm/store/list.js +1 -1
  66. package/esm/store/manager.js +1 -1
  67. package/esm/store/modal.js +1 -1
  68. package/esm/store/node.js +1 -1
  69. package/esm/store/pagination.js +1 -1
  70. package/esm/store/root.js +1 -1
  71. package/esm/store/service.js +1 -1
  72. package/esm/store/status.js +1 -1
  73. package/esm/store/table.d.ts +1078 -42
  74. package/esm/store/table.js +64 -6
  75. package/esm/store/table2.js +1 -4
  76. package/esm/theme.js +1 -1
  77. package/esm/types.d.ts +8 -2
  78. package/esm/utils/Animation.js +1 -1
  79. package/esm/utils/ColorScale.js +1 -1
  80. package/esm/utils/DataSchema.js +1 -1
  81. package/esm/utils/DataScope.js +1 -1
  82. package/esm/utils/RootClose.js +1 -1
  83. package/esm/utils/SimpleMap.js +1 -1
  84. package/esm/utils/api.js +1 -1
  85. package/esm/utils/arraySlice.js +1 -1
  86. package/esm/utils/attachmentAdpator.js +3 -1
  87. package/esm/utils/autobind.js +1 -1
  88. package/esm/utils/columnsSplit.js +1 -1
  89. package/esm/utils/dataMapping.js +1 -1
  90. package/esm/utils/date.js +1 -1
  91. package/esm/utils/debug.js +1 -1
  92. package/esm/utils/decodeEntity.js +1 -1
  93. package/esm/utils/dom.js +1 -1
  94. package/esm/utils/errors.js +1 -1
  95. package/esm/utils/escapeHtml.js +1 -1
  96. package/esm/utils/filter-schema.d.ts +2 -1
  97. package/esm/utils/filter-schema.js +14 -5
  98. package/esm/utils/filter.js +1 -1
  99. package/esm/utils/formatDuration.js +1 -1
  100. package/esm/utils/formula.js +1 -1
  101. package/esm/utils/getVariable.js +1 -1
  102. package/esm/utils/grammar.js +1 -1
  103. package/esm/utils/handleAction.js +1 -1
  104. package/esm/utils/helper.d.ts +2 -2
  105. package/esm/utils/helper.js +37 -29
  106. package/esm/utils/highlight.js +1 -1
  107. package/esm/utils/icon.js +1 -1
  108. package/esm/utils/image.js +1 -1
  109. package/esm/utils/isPureVariable.js +1 -1
  110. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  111. package/esm/utils/keyToPath.js +1 -1
  112. package/esm/utils/makeSorter.js +1 -1
  113. package/esm/utils/math.js +8 -5
  114. package/esm/utils/memoryParse.js +1 -1
  115. package/esm/utils/normalizeLink.js +1 -1
  116. package/esm/utils/normalizeOptions.js +1 -1
  117. package/esm/utils/object.js +15 -1
  118. package/esm/utils/offset.js +1 -1
  119. package/esm/utils/offsetParent.js +1 -1
  120. package/esm/utils/optionValueCompare.js +1 -1
  121. package/esm/utils/position.js +1 -1
  122. package/esm/utils/prettyBytes.js +1 -1
  123. package/esm/utils/renderer-event.d.ts +7 -0
  124. package/esm/utils/renderer-event.js +30 -18
  125. package/esm/utils/replaceText.js +1 -1
  126. package/esm/utils/resize-sensor.js +1 -1
  127. package/esm/utils/resolveCondition.js +1 -1
  128. package/esm/utils/resolveVariable.js +1 -1
  129. package/esm/utils/resolveVariableAndFilter.js +1 -1
  130. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  131. package/esm/utils/scrollPosition.js +1 -1
  132. package/esm/utils/string2regExp.js +1 -1
  133. package/esm/utils/stripNumber.js +1 -1
  134. package/esm/utils/style-helper.js +12 -15
  135. package/esm/utils/style.js +3 -2
  136. package/esm/utils/toNumber.js +1 -1
  137. package/esm/utils/tokenize.js +1 -1
  138. package/esm/utils/tpl-builtin.js +1 -1
  139. package/esm/utils/tpl-lodash.js +1 -1
  140. package/esm/utils/tpl.js +1 -1
  141. package/esm/utils/uncontrollable.js +1 -1
  142. package/esm/utils/validations.js +1 -1
  143. package/lib/Root.js +1 -1
  144. package/lib/RootRenderer.d.ts +1 -1
  145. package/lib/RootRenderer.js +2 -2
  146. package/lib/SchemaRenderer.js +1 -1
  147. package/lib/Scoped.d.ts +2 -0
  148. package/lib/Scoped.js +48 -6
  149. package/lib/StatusScoped.js +1 -1
  150. package/lib/WithRootStore.js +1 -1
  151. package/lib/WithStore.js +26 -11
  152. package/lib/actions/Action.js +29 -21
  153. package/lib/actions/AjaxAction.js +2 -2
  154. package/lib/actions/BreakAction.js +1 -1
  155. package/lib/actions/BroadcastAction.js +1 -1
  156. package/lib/actions/CmptAction.js +31 -32
  157. package/lib/actions/ContinueAction.js +1 -1
  158. package/lib/actions/CopyAction.js +3 -3
  159. package/lib/actions/CustomAction.js +1 -1
  160. package/lib/actions/DialogAction.js +1 -1
  161. package/lib/actions/DrawerAction.js +1 -1
  162. package/lib/actions/EmailAction.js +1 -1
  163. package/lib/actions/LinkAction.js +5 -5
  164. package/lib/actions/LoopAction.js +1 -1
  165. package/lib/actions/PageAction.js +1 -1
  166. package/lib/actions/ParallelAction.js +1 -1
  167. package/lib/actions/StatusAction.js +1 -1
  168. package/lib/actions/SwitchAction.js +1 -1
  169. package/lib/actions/ToastAction.js +3 -3
  170. package/lib/components/CustomStyle.js +1 -1
  171. package/lib/components/ErrorBoundary.d.ts +20 -0
  172. package/lib/components/ErrorBoundary.js +52 -0
  173. package/lib/components/LazyComponent.js +1 -1
  174. package/lib/components/Overlay.js +1 -1
  175. package/lib/components/PopOver.d.ts +4 -0
  176. package/lib/components/PopOver.js +64 -1
  177. package/lib/env.d.ts +9 -0
  178. package/lib/env.js +1 -1
  179. package/lib/envOverwrite.d.ts +1 -1
  180. package/lib/envOverwrite.js +18 -34
  181. package/lib/factory.js +1 -1
  182. package/lib/index.d.ts +2 -1
  183. package/lib/index.js +6 -3
  184. package/lib/locale.js +1 -1
  185. package/lib/polyfills.js +1 -1
  186. package/lib/renderers/Form.d.ts +10 -4
  187. package/lib/renderers/Form.js +64 -32
  188. package/lib/renderers/Item.d.ts +54 -0
  189. package/lib/renderers/Item.js +1 -1
  190. package/lib/renderers/Options.d.ts +5 -1
  191. package/lib/renderers/Options.js +11 -9
  192. package/lib/renderers/Placeholder.js +1 -1
  193. package/lib/renderers/builtin.js +1 -1
  194. package/lib/renderers/register.js +1 -1
  195. package/lib/renderers/wrapControl.js +10 -17
  196. package/lib/store/app.js +1 -1
  197. package/lib/store/combo.d.ts +1154 -49
  198. package/lib/store/combo.js +10 -3
  199. package/lib/store/crud.d.ts +9 -1
  200. package/lib/store/crud.js +50 -15
  201. package/lib/store/form.d.ts +480 -21
  202. package/lib/store/form.js +1 -1
  203. package/lib/store/formItem.d.ts +23 -1
  204. package/lib/store/formItem.js +104 -15
  205. package/lib/store/iRenderer.js +1 -1
  206. package/lib/store/index.js +1 -1
  207. package/lib/store/list.js +1 -1
  208. package/lib/store/manager.js +1 -1
  209. package/lib/store/modal.js +1 -1
  210. package/lib/store/node.js +1 -1
  211. package/lib/store/pagination.js +1 -1
  212. package/lib/store/root.js +1 -1
  213. package/lib/store/service.js +1 -1
  214. package/lib/store/status.js +1 -1
  215. package/lib/store/table.d.ts +1078 -43
  216. package/lib/store/table.js +63 -5
  217. package/lib/store/table2.js +1 -4
  218. package/lib/theme.js +1 -1
  219. package/lib/types.d.ts +8 -2
  220. package/lib/utils/Animation.js +1 -1
  221. package/lib/utils/ColorScale.js +1 -1
  222. package/lib/utils/DataSchema.js +1 -1
  223. package/lib/utils/DataScope.js +1 -1
  224. package/lib/utils/RootClose.js +1 -1
  225. package/lib/utils/SimpleMap.js +1 -1
  226. package/lib/utils/api.js +1 -1
  227. package/lib/utils/arraySlice.js +1 -1
  228. package/lib/utils/attachmentAdpator.js +3 -1
  229. package/lib/utils/autobind.js +1 -1
  230. package/lib/utils/columnsSplit.js +1 -1
  231. package/lib/utils/dataMapping.js +1 -1
  232. package/lib/utils/date.js +1 -1
  233. package/lib/utils/debug.js +1 -1
  234. package/lib/utils/decodeEntity.js +1 -1
  235. package/lib/utils/dom.js +1 -1
  236. package/lib/utils/errors.js +1 -1
  237. package/lib/utils/escapeHtml.js +1 -1
  238. package/lib/utils/filter-schema.d.ts +2 -1
  239. package/lib/utils/filter-schema.js +14 -4
  240. package/lib/utils/filter.js +1 -1
  241. package/lib/utils/formatDuration.js +1 -1
  242. package/lib/utils/formula.js +1 -1
  243. package/lib/utils/getVariable.js +1 -1
  244. package/lib/utils/grammar.js +1 -1
  245. package/lib/utils/handleAction.js +1 -1
  246. package/lib/utils/helper.d.ts +2 -2
  247. package/lib/utils/helper.js +36 -28
  248. package/lib/utils/highlight.js +1 -1
  249. package/lib/utils/icon.js +1 -1
  250. package/lib/utils/image.js +1 -1
  251. package/lib/utils/isPureVariable.js +1 -1
  252. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  253. package/lib/utils/keyToPath.js +1 -1
  254. package/lib/utils/makeSorter.js +1 -1
  255. package/lib/utils/math.js +8 -5
  256. package/lib/utils/memoryParse.js +1 -1
  257. package/lib/utils/normalizeLink.js +1 -1
  258. package/lib/utils/normalizeOptions.js +1 -1
  259. package/lib/utils/object.js +15 -1
  260. package/lib/utils/offset.js +1 -1
  261. package/lib/utils/offsetParent.js +1 -1
  262. package/lib/utils/optionValueCompare.js +1 -1
  263. package/lib/utils/position.js +1 -1
  264. package/lib/utils/prettyBytes.js +1 -1
  265. package/lib/utils/renderer-event.d.ts +7 -0
  266. package/lib/utils/renderer-event.js +30 -18
  267. package/lib/utils/replaceText.js +1 -1
  268. package/lib/utils/resize-sensor.js +1 -1
  269. package/lib/utils/resolveCondition.js +1 -1
  270. package/lib/utils/resolveVariable.js +1 -1
  271. package/lib/utils/resolveVariableAndFilter.js +1 -1
  272. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  273. package/lib/utils/scrollPosition.js +1 -1
  274. package/lib/utils/string2regExp.js +1 -1
  275. package/lib/utils/stripNumber.js +1 -1
  276. package/lib/utils/style-helper.js +12 -15
  277. package/lib/utils/style.js +3 -2
  278. package/lib/utils/toNumber.js +1 -1
  279. package/lib/utils/tokenize.js +1 -1
  280. package/lib/utils/tpl-builtin.js +1 -1
  281. package/lib/utils/tpl-lodash.js +1 -1
  282. package/lib/utils/tpl.js +1 -1
  283. package/lib/utils/uncontrollable.js +1 -1
  284. package/lib/utils/validations.js +1 -1
  285. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -49,7 +49,7 @@ import 'uncontrollable';
49
49
  import 'hoist-non-react-statics';
50
50
  import '../utils/validations.js';
51
51
  import '../utils/resolveCondition.js';
52
- import 'mobx';
52
+ import { reaction } from 'mobx';
53
53
  import '../utils/Animation.js';
54
54
 
55
55
  var Form = /** @class */ (function (_super) {
@@ -57,6 +57,7 @@ var Form = /** @class */ (function (_super) {
57
57
  function Form(props) {
58
58
  var _this = _super.call(this, props) || this;
59
59
  _this.hooks = {};
60
+ _this.toDispose = [];
60
61
  _this.shouldLoadInitApi = false;
61
62
  _this.lazyEmitChange = debounce(_this.emitChange.bind(_this), 250, {
62
63
  trailing: true,
@@ -100,16 +101,23 @@ var Form = /** @class */ (function (_super) {
100
101
  return form.items.forEach(function (item) { return item.unique && item.syncOptions(undefined, form.data); });
101
102
  });
102
103
  }
104
+ // withStore 里面与上层数据会做同步
105
+ // 这个时候变更的数据没有同步 onChange 出去,出现数据不一致的问题。
106
+ // https://github.com/baidu/amis/issues/8773
107
+ _this.toDispose.push(reaction(function () { return store.initedAt; }, function () {
108
+ store.inited && _this.emitChange(!!_this.props.submitOnChange, true);
109
+ }));
103
110
  return _this;
104
111
  }
105
112
  Form.prototype.componentDidMount = function () {
106
113
  var _this = this;
107
114
  var _a, _b;
108
- var _c = this.props, initApi = _c.initApi, initFetch = _c.initFetch, initFetchOn = _c.initFetchOn, initAsyncApi = _c.initAsyncApi, initFinishedField = _c.initFinishedField, initCheckInterval = _c.initCheckInterval, store = _c.store, _d = _c.messages, fetchSuccess = _d.fetchSuccess, fetchFailed = _d.fetchFailed, onValidate = _c.onValidate, promptPageLeave = _c.promptPageLeave, env = _c.env, rules = _c.rules;
115
+ var _c = this.props, initApi = _c.initApi, initFetch = _c.initFetch, initFetchOn = _c.initFetchOn, initAsyncApi = _c.initAsyncApi, initFinishedField = _c.initFinishedField, initCheckInterval = _c.initCheckInterval, store = _c.store, _d = _c.messages, fetchSuccess = _d.fetchSuccess, fetchFailed = _d.fetchFailed, onValidate = _c.onValidate, onValidChange = _c.onValidChange, promptPageLeave = _c.promptPageLeave, env = _c.env;
116
+ var rules = this.getNormalizedRules();
109
117
  this.mounted = true;
110
118
  if (onValidate) {
111
119
  var finalValidate_1 = promisify(onValidate);
112
- this.disposeOnValidate = this.addHook(function () { return __awaiter(_this, void 0, void 0, function () {
120
+ this.toDispose.push(this.addHook(function () { return __awaiter(_this, void 0, void 0, function () {
113
121
  var result;
114
122
  return __generator(this, function (_a) {
115
123
  switch (_a.label) {
@@ -139,10 +147,14 @@ var Form = /** @class */ (function (_super) {
139
147
  return [2 /*return*/];
140
148
  }
141
149
  });
142
- }); });
150
+ }); }));
143
151
  }
144
- if (Array.isArray(rules) && rules.length) {
145
- this.disposeRulesValidate = this.addHook(function () {
152
+ // 表单校验结果发生变化时,触发 onValidChange
153
+ if (onValidChange) {
154
+ this.toDispose.push(reaction(function () { return store.valid; }, function (valid) { return onValidChange(valid, _this.props); }));
155
+ }
156
+ if (rules.length) {
157
+ this.toDispose.push(this.addHook(function () {
146
158
  if (!store.valid) {
147
159
  return;
148
160
  }
@@ -150,7 +162,7 @@ var Form = /** @class */ (function (_super) {
150
162
  return !evalExpression(item.rule, store.data) &&
151
163
  store.addRestError(item.message, item.name);
152
164
  });
153
- });
165
+ }));
154
166
  }
155
167
  if (isEffectiveApi(initApi, store.data, initFetch, initFetchOn)) {
156
168
  store
@@ -198,11 +210,23 @@ var Form = /** @class */ (function (_super) {
198
210
  // this.lazyHandleChange.flush();
199
211
  this.lazyEmitChange.cancel();
200
212
  this.asyncCancel && this.asyncCancel();
201
- this.disposeOnValidate && this.disposeOnValidate();
202
- this.disposeRulesValidate && this.disposeRulesValidate();
213
+ this.toDispose.forEach(function (fn) { return fn(); });
214
+ this.toDispose = [];
203
215
  window.removeEventListener('beforeunload', this.beforePageUnload);
204
216
  (_a = this.unBlockRouting) === null || _a === void 0 ? void 0 : _a.call(this);
205
217
  };
218
+ /** 获取表单联合校验的规则 */
219
+ Form.prototype.getNormalizedRules = function () {
220
+ var _a = this.props, rules = _a.rules, __ = _a.translate;
221
+ if (!Array.isArray(rules) || rules.length < 1) {
222
+ return [];
223
+ }
224
+ return rules
225
+ .map(function (item) { return (__assign(__assign({}, item), (!item.message || typeof item.message !== 'string'
226
+ ? { message: __('Form.rules.message') }
227
+ : {}))); })
228
+ .filter(function (item) { return item.rule && typeof item.rule === 'string'; });
229
+ };
206
230
  Form.prototype.dispatchInited = function (value) {
207
231
  var _a;
208
232
  return __awaiter(this, void 0, void 0, function () {
@@ -350,22 +374,27 @@ var Form = /** @class */ (function (_super) {
350
374
  Form.prototype.isValidated = function () {
351
375
  return this.props.store.validated;
352
376
  };
353
- Form.prototype.validate = function (forceValidate, throwErrors) {
377
+ Form.prototype.validate = function (forceValidate, throwErrors, toastErrors) {
354
378
  if (throwErrors === void 0) { throwErrors = false; }
355
- var _a = this.props, store = _a.store, dispatchEvent = _a.dispatchEvent, data = _a.data, messages = _a.messages, __ = _a.translate;
356
- this.flush();
357
- return store
358
- .validate(this.hooks['validate'] || [], forceValidate, throwErrors, typeof (messages === null || messages === void 0 ? void 0 : messages.validateFailed) === 'string'
359
- ? __(filter(messages.validateFailed, store.data))
360
- : undefined)
361
- .then(function (result) {
362
- if (result) {
363
- dispatchEvent('validateSucc', data);
364
- }
365
- else {
366
- dispatchEvent('validateError', data);
367
- }
368
- return result;
379
+ if (toastErrors === void 0) { toastErrors = true; }
380
+ return __awaiter(this, void 0, void 0, function () {
381
+ var _a, store, dispatchEvent, data, messages, __, result;
382
+ return __generator(this, function (_b) {
383
+ switch (_b.label) {
384
+ case 0:
385
+ _a = this.props, store = _a.store, dispatchEvent = _a.dispatchEvent, data = _a.data, messages = _a.messages, __ = _a.translate;
386
+ this.flush();
387
+ return [4 /*yield*/, store.validate(this.hooks['validate'] || [], forceValidate, throwErrors, toastErrors === false
388
+ ? ''
389
+ : typeof (messages === null || messages === void 0 ? void 0 : messages.validateFailed) === 'string'
390
+ ? __(filter(messages.validateFailed, store.data))
391
+ : undefined)];
392
+ case 1:
393
+ result = _b.sent();
394
+ dispatchEvent(result ? 'validateSucc' : 'validateError', data);
395
+ return [2 /*return*/, result];
396
+ }
397
+ });
369
398
  });
370
399
  };
371
400
  Form.prototype.setErrors = function (errors, tag) {
@@ -449,9 +478,10 @@ var Form = /** @class */ (function (_super) {
449
478
  var dispatchEvent = this.props.dispatchEvent;
450
479
  return dispatchEvent(type, data);
451
480
  };
452
- Form.prototype.emitChange = function (submit) {
481
+ Form.prototype.emitChange = function (submit, skipIfNothingChanges) {
482
+ if (skipIfNothingChanges === void 0) { skipIfNothingChanges = false; }
453
483
  return __awaiter(this, void 0, void 0, function () {
454
- var _a, onChange, store, submitOnChange, dispatchEvent, data, changeProps, dispatcher;
484
+ var _a, onChange, store, submitOnChange, dispatchEvent, data, diff, changeProps, dispatcher;
455
485
  return __generator(this, function (_b) {
456
486
  switch (_b.label) {
457
487
  case 0:
@@ -459,11 +489,11 @@ var Form = /** @class */ (function (_super) {
459
489
  if (!isAlive(store)) {
460
490
  return [2 /*return*/];
461
491
  }
462
- changeProps = [
463
- store.data,
464
- difference(store.data, store.pristine),
465
- this.props
466
- ];
492
+ diff = difference(store.data, store.pristine);
493
+ if (skipIfNothingChanges && !Object.keys(diff).length) {
494
+ return [2 /*return*/];
495
+ }
496
+ changeProps = [store.data, diff, this.props];
467
497
  return [4 /*yield*/, dispatchEvent('change', createObject(data, store.data))];
468
498
  case 1:
469
499
  dispatcher = _b.sent();
@@ -1140,6 +1170,8 @@ var Form = /** @class */ (function (_super) {
1140
1170
  'onChange',
1141
1171
  'onFailed',
1142
1172
  'onFinished',
1173
+ 'onValidate',
1174
+ 'onValidChange',
1143
1175
  'onSaved',
1144
1176
  'canAccessSuperData',
1145
1177
  'lazyChange',
@@ -515,6 +515,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
515
515
  onChildStoreDispose(child: any): void;
516
516
  syncProps(props: any, prevProps: any, list?: string[]): void;
517
517
  dispose: (callback?: (() => void) | undefined) => void;
518
+ /**
519
+ * 配置当前表单项展示模式
520
+ */
518
521
  addChildId: (id: string) => void;
519
522
  removeChildId: (id: string) => void;
520
523
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -533,9 +536,15 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
533
536
  onChildStoreDispose(child: any): void;
534
537
  syncProps(props: any, prevProps: any, list?: string[]): void;
535
538
  dispose: (callback?: (() => void) | undefined) => void;
539
+ /**
540
+ * 配置当前表单项展示模式
541
+ */
536
542
  addChildId: (id: string) => void;
537
543
  removeChildId: (id: string) => void;
538
544
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
545
+ /**
546
+ * @deprecated 用 description 代替
547
+ */
539
548
  readonly stores: {
540
549
  [propName: string]: {
541
550
  id: string;
@@ -553,6 +562,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
553
562
  onChildStoreDispose(child: any): void;
554
563
  syncProps(props: any, prevProps: any, list?: string[]): void;
555
564
  dispose: (callback?: (() => void) | undefined) => void;
565
+ /**
566
+ * 配置当前表单项展示模式
567
+ */
556
568
  addChildId: (id: string) => void;
557
569
  removeChildId: (id: string) => void;
558
570
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -571,6 +583,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
571
583
  onChildStoreDispose(child: any): void;
572
584
  syncProps(props: any, prevProps: any, list?: string[]): void;
573
585
  dispose: (callback?: (() => void) | undefined) => void;
586
+ /**
587
+ * 配置当前表单项展示模式
588
+ */
574
589
  addChildId: (id: string) => void;
575
590
  removeChildId: (id: string) => void;
576
591
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
@@ -598,6 +613,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
598
613
  onChildStoreDispose(child: any): void;
599
614
  syncProps(props: any, prevProps: any, list?: string[]): void;
600
615
  dispose: (callback?: (() => void) | undefined) => void;
616
+ /**
617
+ * 配置当前表单项展示模式
618
+ */
601
619
  addChildId: (id: string) => void;
602
620
  removeChildId: (id: string) => void;
603
621
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -616,6 +634,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
616
634
  onChildStoreDispose(child: any): void;
617
635
  syncProps(props: any, prevProps: any, list?: string[]): void;
618
636
  dispose: (callback?: (() => void) | undefined) => void;
637
+ /**
638
+ * 配置当前表单项展示模式
639
+ */
619
640
  addChildId: (id: string) => void;
620
641
  removeChildId: (id: string) => void;
621
642
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
@@ -635,6 +656,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
635
656
  onChildStoreDispose(child: any): void;
636
657
  syncProps(props: any, prevProps: any, list?: string[]): void;
637
658
  dispose: (callback?: (() => void) | undefined) => void;
659
+ /**
660
+ * 配置当前表单项展示模式
661
+ */
638
662
  addChildId: (id: string) => void;
639
663
  removeChildId: (id: string) => void;
640
664
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -653,6 +677,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
653
677
  onChildStoreDispose(child: any): void;
654
678
  syncProps(props: any, prevProps: any, list?: string[]): void;
655
679
  dispose: (callback?: (() => void) | undefined) => void;
680
+ /**
681
+ * 配置当前表单项展示模式
682
+ */
656
683
  addChildId: (id: string) => void;
657
684
  removeChildId: (id: string) => void;
658
685
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void;
@@ -679,6 +706,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
679
706
  onChildStoreDispose(child: any): void;
680
707
  syncProps(props: any, prevProps: any, list?: string[]): void;
681
708
  dispose: (callback?: (() => void) | undefined) => void;
709
+ /**
710
+ * 配置当前表单项展示模式
711
+ */
682
712
  addChildId: (id: string) => void;
683
713
  removeChildId: (id: string) => void;
684
714
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -697,9 +727,15 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
697
727
  onChildStoreDispose(child: any): void;
698
728
  syncProps(props: any, prevProps: any, list?: string[]): void;
699
729
  dispose: (callback?: (() => void) | undefined) => void;
730
+ /**
731
+ * 配置当前表单项展示模式
732
+ */
700
733
  addChildId: (id: string) => void;
701
734
  removeChildId: (id: string) => void;
702
735
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
736
+ /**
737
+ * @deprecated 用 description 代替
738
+ */
703
739
  readonly stores: {
704
740
  [propName: string]: {
705
741
  id: string;
@@ -717,6 +753,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
717
753
  onChildStoreDispose(child: any): void;
718
754
  syncProps(props: any, prevProps: any, list?: string[]): void;
719
755
  dispose: (callback?: (() => void) | undefined) => void;
756
+ /**
757
+ * 配置当前表单项展示模式
758
+ */
720
759
  addChildId: (id: string) => void;
721
760
  removeChildId: (id: string) => void;
722
761
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -735,6 +774,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
735
774
  onChildStoreDispose(child: any): void;
736
775
  syncProps(props: any, prevProps: any, list?: string[]): void;
737
776
  dispose: (callback?: (() => void) | undefined) => void;
777
+ /**
778
+ * 配置当前表单项展示模式
779
+ */
738
780
  addChildId: (id: string) => void;
739
781
  removeChildId: (id: string) => void;
740
782
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
@@ -762,6 +804,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
762
804
  onChildStoreDispose(child: any): void;
763
805
  syncProps(props: any, prevProps: any, list?: string[]): void;
764
806
  dispose: (callback?: (() => void) | undefined) => void;
807
+ /**
808
+ * 配置当前表单项展示模式
809
+ */
765
810
  addChildId: (id: string) => void;
766
811
  removeChildId: (id: string) => void;
767
812
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -780,6 +825,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
780
825
  onChildStoreDispose(child: any): void;
781
826
  syncProps(props: any, prevProps: any, list?: string[]): void;
782
827
  dispose: (callback?: (() => void) | undefined) => void;
828
+ /**
829
+ * 配置当前表单项展示模式
830
+ */
783
831
  addChildId: (id: string) => void;
784
832
  removeChildId: (id: string) => void;
785
833
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
@@ -799,6 +847,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
799
847
  onChildStoreDispose(child: any): void;
800
848
  syncProps(props: any, prevProps: any, list?: string[]): void;
801
849
  dispose: (callback?: (() => void) | undefined) => void;
850
+ /**
851
+ * 配置当前表单项展示模式
852
+ */
802
853
  addChildId: (id: string) => void;
803
854
  removeChildId: (id: string) => void;
804
855
  } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
@@ -817,6 +868,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
817
868
  onChildStoreDispose(child: any): void;
818
869
  syncProps(props: any, prevProps: any, list?: string[]): void;
819
870
  dispose: (callback?: (() => void) | undefined) => void;
871
+ /**
872
+ * 配置当前表单项展示模式
873
+ */
820
874
  addChildId: (id: string) => void;
821
875
  removeChildId: (id: string) => void;
822
876
  }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -64,6 +64,10 @@ export interface FormOptionsControl extends FormBaseControl {
64
64
  * @default ''
65
65
  */
66
66
  resetValue?: string;
67
+ /**
68
+ * 懒加载字段
69
+ */
70
+ deferField?: string;
67
71
  /**
68
72
  * 延时加载的 API,当选项中有 defer: true 的选项时,点开会通过此接口扩充。
69
73
  */
@@ -136,7 +140,7 @@ export interface OptionsControlProps extends FormControlProps, Omit<FormOptionsC
136
140
  selectedOptions: Array<Option>;
137
141
  setOptions: (value: Array<any>, skipNormalize?: boolean) => void;
138
142
  setLoading: (value: boolean) => void;
139
- reloadOptions: (setError?: boolean) => void;
143
+ reloadOptions: (setError?: boolean, isInit?: boolean, data?: Record<string, any>) => void;
140
144
  deferLoad: (option: Option) => void;
141
145
  leftDeferLoad: (option: Option, leftOptions: Option) => void;
142
146
  expandTreeOptions: (nodePathArr: any[]) => void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -157,7 +157,7 @@ function registerOptionsControl(config) {
157
157
  var prevOptions = resolveVariableAndFilter(prevProps.source, prevProps.data, '| raw');
158
158
  var options = resolveVariableAndFilter(props.source, props.data, '| raw');
159
159
  if (prevOptions !== options) {
160
- formItem.setOptions(normalizeOptions(options || [], undefined, props.valueField || 'value'), this.changeOptionValue, props.data);
160
+ formItem.loadOptionsFromDataScope(props.source, props.data, this.changeOptionValue);
161
161
  this.normalizeValue();
162
162
  }
163
163
  }
@@ -403,12 +403,13 @@ function registerOptionsControl(config) {
403
403
  FormOptionsItem.prototype.reload = function () {
404
404
  return this.reloadOptions();
405
405
  };
406
- FormOptionsItem.prototype.reloadOptions = function (setError, isInit) {
406
+ FormOptionsItem.prototype.reloadOptions = function (setError, isInit, data) {
407
407
  if (isInit === void 0) { isInit = false; }
408
- var _a = this.props, source = _a.source, formItem = _a.formItem, data = _a.data, onChange = _a.onChange, setPrinstineValue = _a.setPrinstineValue, valueField = _a.valueField;
408
+ if (data === void 0) { data = this.props.data; }
409
+ var _a = this.props, source = _a.source, formItem = _a.formItem, onChange = _a.onChange, setPrinstineValue = _a.setPrinstineValue; _a.valueField;
409
410
  if (formItem && isPureVariable(source)) {
410
411
  isAlive(formItem) &&
411
- formItem.setOptions(normalizeOptions(resolveVariableAndFilter(source, data, '| raw') || [], undefined, valueField), this.changeOptionValue, data);
412
+ formItem.loadOptionsFromDataScope(source, data, this.changeOptionValue);
412
413
  return;
413
414
  }
414
415
  else if (!formItem || !isEffectiveApi(source, data)) {
@@ -516,12 +517,12 @@ function registerOptionsControl(config) {
516
517
  if (idx === void 0) { idx = -1; }
517
518
  if (skipForm === void 0) { skipForm = false; }
518
519
  return __awaiter(this, void 0, void 0, function () {
519
- var _c, addControls, addDialog, disabled, labelField, onOpenDialog, optionLabel, addApi, source, data, valueField, model, createBtnLabel, env, __, parent, ctx, result, _d, payload, e_1, isPrevented, options;
520
+ var _c, addControls, addDialog, disabled, labelField, onOpenDialog, optionLabel, addApi, source, data, valueField, deferField, model, createBtnLabel, env, __, parent, ctx, result, _d, payload, e_1, isPrevented, options;
520
521
  var _e;
521
522
  return __generator(this, function (_f) {
522
523
  switch (_f.label) {
523
524
  case 0:
524
- _c = this.props, addControls = _c.addControls, addDialog = _c.addDialog, disabled = _c.disabled, labelField = _c.labelField, onOpenDialog = _c.onOpenDialog, optionLabel = _c.optionLabel, addApi = _c.addApi, source = _c.source, data = _c.data, valueField = _c.valueField, model = _c.formItem, createBtnLabel = _c.createBtnLabel, env = _c.env, __ = _c.translate;
525
+ _c = this.props, addControls = _c.addControls, addDialog = _c.addDialog, disabled = _c.disabled, labelField = _c.labelField, onOpenDialog = _c.onOpenDialog, optionLabel = _c.optionLabel, addApi = _c.addApi, source = _c.source, data = _c.data, valueField = _c.valueField, deferField = _c.deferField, model = _c.formItem, createBtnLabel = _c.createBtnLabel, env = _c.env, __ = _c.translate;
525
526
  // 禁用或者没有配置 name
526
527
  if (disabled || !model) {
527
528
  return [2 /*return*/];
@@ -606,7 +607,8 @@ function registerOptionsControl(config) {
606
607
  if (isPrevented) {
607
608
  return [2 /*return*/];
608
609
  }
609
- if (!(parent === null || parent === void 0 ? void 0 : parent.defer)) return [3 /*break*/, 10];
610
+ if (!(((parent === null || parent === void 0 ? void 0 : parent.hasOwnProperty(deferField)) && parent[deferField]) ||
611
+ (parent === null || parent === void 0 ? void 0 : parent.defer))) return [3 /*break*/, 10];
610
612
  return [4 /*yield*/, this.deferLoad(parent)];
611
613
  case 9:
612
614
  _f.sent();
@@ -834,7 +836,7 @@ function registerOptionsControl(config) {
834
836
  __decorate([
835
837
  autobind,
836
838
  __metadata("design:type", Function),
837
- __metadata("design:paramtypes", [Boolean, Object]),
839
+ __metadata("design:paramtypes", [Boolean, Object, Object]),
838
840
  __metadata("design:returntype", void 0)
839
841
  ], FormOptionsItem.prototype, "reloadOptions", null);
840
842
  __decorate([
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -7,7 +7,6 @@ import { __extends, __assign, __awaiter, __generator } from 'tslib';
7
7
  import React from 'react';
8
8
  import debounce from 'lodash/debounce';
9
9
  import isEqual from 'lodash/isEqual';
10
- import { getRendererByName } from '../factory.js';
11
10
  import { ComboStore } from '../store/combo.js';
12
11
  import { guid, promisify, changedEffect } from '../utils/helper.js';
13
12
  import { isExpression, FormulaExec, replaceExpression, isNeedFormula } from '../utils/formula.js';
@@ -58,14 +57,14 @@ function wrapControl(ComposedComponent) {
58
57
  __extends(class_1, _super);
59
58
  function class_1(props) {
60
59
  var _this = this;
61
- var _a, _b;
60
+ var _a;
62
61
  _this = _super.call(this, props) || this;
63
62
  _this.value = undefined;
64
63
  _this.lazyEmitChange = debounce(_this.emitChange.bind(_this), 250, {
65
64
  trailing: true,
66
65
  leading: false
67
66
  });
68
- var _c = _this.props, form = _c.formStore, formItem = _c.formItem, rootStore = _c.rootStore, store = _c.store, onChange = _c.onChange, data = _c.data, inputGroupControl = _c.inputGroupControl, colIndex = _c.colIndex, rowIndex = _c.rowIndex, _d = _c.$schema, id = _d.id, type = _d.type, required = _d.required, validations = _d.validations, validationErrors = _d.validationErrors, unique = _d.unique, value = _d.value, extraName = _d.extraName; _d.multiple; var delimiter = _d.delimiter, valueField = _d.valueField, labelField = _d.labelField, joinValues = _d.joinValues, extractValue = _d.extractValue, selectFirst = _d.selectFirst, autoFill = _d.autoFill, clearValueOnHidden = _d.clearValueOnHidden, validateApi = _d.validateApi, minLength = _d.minLength, maxLength = _d.maxLength, validateOnChange = _d.validateOnChange, label = _d.label;
67
+ var _b = _this.props, form = _b.formStore, formItem = _b.formItem, rootStore = _b.rootStore, store = _b.store, onChange = _b.onChange, data = _b.data, inputGroupControl = _b.inputGroupControl, colIndex = _b.colIndex, rowIndex = _b.rowIndex, _c = _b.$schema, id = _c.id, type = _c.type, required = _c.required, validations = _c.validations, validationErrors = _c.validationErrors, unique = _c.unique, value = _c.value, extraName = _c.extraName; _c.multiple; var delimiter = _c.delimiter, valueField = _c.valueField, labelField = _c.labelField, joinValues = _c.joinValues, extractValue = _c.extractValue, selectFirst = _c.selectFirst, autoFill = _c.autoFill, clearValueOnHidden = _c.clearValueOnHidden, validateApi = _c.validateApi, minLength = _c.minLength, maxLength = _c.maxLength, validateOnChange = _c.validateOnChange, label = _c.label, pagination = _c.pagination;
69
68
  _this.getValue = _this.getValue.bind(_this);
70
69
  _this.setValue = _this.setValue.bind(_this);
71
70
  _this.handleChange = _this.handleChange.bind(_this);
@@ -82,11 +81,6 @@ function wrapControl(ComposedComponent) {
82
81
  name = tokenize(name, data);
83
82
  }
84
83
  if (!name) {
85
- // 一般情况下这些表单项都是需要 name 的,提示一下
86
- if (typeof type === 'string' &&
87
- ((_a = getRendererByName(type)) === null || _a === void 0 ? void 0 : _a.isFormItem)) {
88
- console.warn('name is required', _this.props.$schema);
89
- }
90
84
  return _this;
91
85
  }
92
86
  var propValue = _this.props.value;
@@ -102,10 +96,10 @@ function wrapControl(ComposedComponent) {
102
96
  _this.model = model;
103
97
  // @issue 打算干掉这个
104
98
  formItem === null || formItem === void 0 ? void 0 : formItem.addSubFormItem(model);
105
- model.config(__assign(__assign({}, pick(__assign(__assign({}, ComposedComponent.defaultProps), _this.props.$schema), ['multiple'])), { id: id, type: type, required: props.required || required, unique: unique, value: value, isValueSchemaExp: isExpression(value), rules: validations, messages: validationErrors, delimiter: delimiter, valueField: valueField, labelField: labelField, joinValues: joinValues, extractValue: extractValue, selectFirst: selectFirst, autoFill: autoFill, clearValueOnHidden: clearValueOnHidden, validateApi: validateApi, minLength: minLength, maxLength: maxLength, validateOnChange: validateOnChange, label: label, inputGroupControl: inputGroupControl, extraName: extraName }));
99
+ model.config(__assign(__assign({}, pick(__assign(__assign({}, ComposedComponent.defaultProps), _this.props.$schema), ['multiple'])), { id: id, type: type, required: props.required || required, unique: unique, value: value, isValueSchemaExp: isExpression(value), rules: validations, messages: validationErrors, delimiter: delimiter, valueField: valueField, labelField: labelField, joinValues: joinValues, extractValue: extractValue, selectFirst: selectFirst, autoFill: autoFill, clearValueOnHidden: clearValueOnHidden, validateApi: validateApi, minLength: minLength, maxLength: maxLength, validateOnChange: validateOnChange, label: label, inputGroupControl: inputGroupControl, extraName: extraName, pagination: pagination }));
106
100
  // issue 这个逻辑应该在 combo 里面自己实现。
107
101
  if (_this.model.unique &&
108
- ((_b = form === null || form === void 0 ? void 0 : form.parentStore) === null || _b === void 0 ? void 0 : _b.storeType) === ComboStore.name) {
102
+ ((_a = form === null || form === void 0 ? void 0 : form.parentStore) === null || _a === void 0 ? void 0 : _a.storeType) === ComboStore.name) {
109
103
  var combo = form.parentStore;
110
104
  combo.bindUniuqueItem(model);
111
105
  }
@@ -218,7 +212,8 @@ function wrapControl(ComposedComponent) {
218
212
  'minLength',
219
213
  'maxLength',
220
214
  'label',
221
- 'extraName'
215
+ 'extraName',
216
+ 'pagination'
222
217
  ], prevProps.$schema, props.$schema, function (changes) {
223
218
  model.config(__assign(__assign({}, changes), {
224
219
  // todo 优化后面两个
@@ -554,9 +549,7 @@ function wrapControl(ComposedComponent) {
554
549
  formItem: this.model,
555
550
  formMode: control.mode || formMode,
556
551
  ref: this.controlRef,
557
- data: model
558
- ? model.getMergedData(data || (store === null || store === void 0 ? void 0 : store.data))
559
- : data || (store === null || store === void 0 ? void 0 : store.data),
552
+ data: data || (store === null || store === void 0 ? void 0 : store.data),
560
553
  name: (_c = model === null || model === void 0 ? void 0 : model.name) !== null && _c !== void 0 ? _c : control.name,
561
554
  value: value,
562
555
  changeMotivation: model === null || model === void 0 ? void 0 : model.changeMotivation,
@@ -569,8 +562,8 @@ function wrapControl(ComposedComponent) {
569
562
  prinstine: model ? model.prinstine : undefined,
570
563
  setPrinstineValue: this.setPrinstineValue,
571
564
  onValidate: this.validate,
572
- onFlushChange: this.flushChange,
573
- render: this.renderChild // 如果覆盖,那么用的就是 form 上的 render,这个里面用到的 data 是比较旧的。
565
+ onFlushChange: this.flushChange
566
+ // render: this.renderChild // 如果覆盖,那么用的就是 form 上的 render,这个里面用到的 data 是比较旧的。
574
567
  // !没了这个, tree 里的 options 渲染会出问题
575
568
  // todo 理论上不应该影响,待确认
576
569
  // _filteredOptions: this.model?.filteredOptions
package/esm/store/app.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5