@arco-design/mobile-react 2.31.2 → 2.31.4

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 (228) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.en-US.md +3 -3
  3. package/README.md +3 -3
  4. package/cjs/action-sheet/style/css/index.css +2 -2
  5. package/cjs/avatar/style/css/index.css +2 -2
  6. package/cjs/badge/style/css/index.css +2 -2
  7. package/cjs/button/style/css/index.css +2 -2
  8. package/cjs/carousel/style/css/index.css +2 -2
  9. package/cjs/cell/style/css/index.css +2 -2
  10. package/cjs/checkbox/style/css/index.css +2 -2
  11. package/cjs/circle-progress/style/css/index.css +2 -2
  12. package/cjs/collapse/style/css/index.css +2 -2
  13. package/cjs/count-down/style/css/index.css +2 -2
  14. package/cjs/date-picker/index.js +7 -7
  15. package/cjs/date-picker/style/css/index.css +2 -2
  16. package/cjs/date-picker/type.d.ts +7 -1
  17. package/cjs/dialog/style/css/index.css +2 -2
  18. package/cjs/divider/style/css/index.css +2 -2
  19. package/cjs/dropdown/style/css/index.css +2 -2
  20. package/cjs/dropdown-menu/style/css/index.css +2 -2
  21. package/cjs/ellipsis/style/css/index.css +2 -2
  22. package/cjs/form/form-item.d.ts +0 -3
  23. package/cjs/form/form-item.js +19 -30
  24. package/cjs/form/index.js +6 -2
  25. package/cjs/form/linked-container.d.ts +8 -0
  26. package/cjs/form/linked-container.js +72 -0
  27. package/cjs/form/style/css/index.css +2 -2
  28. package/cjs/form/style/index.less +3 -3
  29. package/cjs/form/type.d.ts +7 -11
  30. package/cjs/form/useForm.js +36 -48
  31. package/cjs/grid/style/css/index.css +2 -2
  32. package/cjs/image/style/css/index.css +2 -2
  33. package/cjs/image-picker/style/css/index.css +2 -2
  34. package/cjs/image-preview/style/css/index.css +2 -2
  35. package/cjs/index-bar/style/css/index.css +2 -2
  36. package/cjs/input/style/css/index.css +2 -2
  37. package/cjs/keyboard/style/css/index.css +2 -2
  38. package/cjs/load-more/style/css/index.css +2 -2
  39. package/cjs/loading/style/css/index.css +2 -2
  40. package/cjs/masking/style/css/index.css +2 -2
  41. package/cjs/nav-bar/style/css/index.css +2 -2
  42. package/cjs/notice-bar/style/css/index.css +2 -2
  43. package/cjs/notify/style/css/index.css +2 -2
  44. package/cjs/pagination/style/css/index.css +2 -2
  45. package/cjs/picker/index.js +1 -1
  46. package/cjs/picker/style/css/index.css +2 -2
  47. package/cjs/picker-view/style/css/index.css +2 -2
  48. package/cjs/popover/style/css/index.css +2 -2
  49. package/cjs/popover/style/css/menu.css +2 -2
  50. package/cjs/popup/style/css/index.css +2 -2
  51. package/cjs/popup-swiper/style/css/index.css +2 -2
  52. package/cjs/progress/style/css/index.css +2 -2
  53. package/cjs/pull-refresh/style/css/index.css +2 -2
  54. package/cjs/radio/style/css/index.css +2 -2
  55. package/cjs/rate/style/css/index.css +2 -2
  56. package/cjs/search-bar/style/css/index.css +2 -2
  57. package/cjs/skeleton/style/css/index.css +2 -2
  58. package/cjs/slider/style/css/index.css +2 -2
  59. package/cjs/stepper/hooks/useInputEvent.d.ts +1 -0
  60. package/cjs/stepper/hooks/useInputEvent.js +3 -2
  61. package/cjs/stepper/hooks/useValue.d.ts +1 -0
  62. package/cjs/stepper/hooks/useValue.js +2 -1
  63. package/cjs/stepper/index.js +3 -1
  64. package/cjs/stepper/style/css/index.css +2 -2
  65. package/cjs/steps/style/css/index.css +2 -2
  66. package/cjs/sticky/style/css/index.css +2 -2
  67. package/cjs/swipe-action/style/css/index.css +2 -2
  68. package/cjs/swipe-load/style/css/index.css +2 -2
  69. package/cjs/switch/style/css/index.css +2 -2
  70. package/cjs/tab-bar/style/css/index.css +2 -2
  71. package/cjs/tabs/style/css/index.css +2 -2
  72. package/cjs/tag/style/css/index.css +2 -2
  73. package/cjs/textarea/style/css/index.css +2 -2
  74. package/cjs/toast/style/css/index.css +2 -2
  75. package/cjs/transition/style/css/index.css +2 -2
  76. package/cjs/uploader/style/css/index.css +2 -2
  77. package/dist/index.js +1832 -1831
  78. package/dist/index.min.js +4 -4
  79. package/dist/style.css +114 -114
  80. package/esm/action-sheet/style/css/index.css +2 -2
  81. package/esm/avatar/style/css/index.css +2 -2
  82. package/esm/badge/style/css/index.css +2 -2
  83. package/esm/button/style/css/index.css +2 -2
  84. package/esm/carousel/style/css/index.css +2 -2
  85. package/esm/cell/style/css/index.css +2 -2
  86. package/esm/checkbox/style/css/index.css +2 -2
  87. package/esm/circle-progress/style/css/index.css +2 -2
  88. package/esm/collapse/style/css/index.css +2 -2
  89. package/esm/count-down/style/css/index.css +2 -2
  90. package/esm/date-picker/index.js +8 -8
  91. package/esm/date-picker/style/css/index.css +2 -2
  92. package/esm/date-picker/type.d.ts +7 -1
  93. package/esm/dialog/style/css/index.css +2 -2
  94. package/esm/divider/style/css/index.css +2 -2
  95. package/esm/dropdown/style/css/index.css +2 -2
  96. package/esm/dropdown-menu/style/css/index.css +2 -2
  97. package/esm/ellipsis/style/css/index.css +2 -2
  98. package/esm/form/form-item.d.ts +0 -3
  99. package/esm/form/form-item.js +14 -25
  100. package/esm/form/index.js +7 -3
  101. package/esm/form/linked-container.d.ts +8 -0
  102. package/esm/form/linked-container.js +54 -0
  103. package/esm/form/style/css/index.css +2 -2
  104. package/esm/form/style/index.less +3 -3
  105. package/esm/form/type.d.ts +7 -11
  106. package/esm/form/useForm.js +31 -42
  107. package/esm/grid/style/css/index.css +2 -2
  108. package/esm/image/style/css/index.css +2 -2
  109. package/esm/image-picker/style/css/index.css +2 -2
  110. package/esm/image-preview/style/css/index.css +2 -2
  111. package/esm/index-bar/style/css/index.css +2 -2
  112. package/esm/input/style/css/index.css +2 -2
  113. package/esm/keyboard/style/css/index.css +2 -2
  114. package/esm/load-more/style/css/index.css +2 -2
  115. package/esm/loading/style/css/index.css +2 -2
  116. package/esm/masking/style/css/index.css +2 -2
  117. package/esm/nav-bar/style/css/index.css +2 -2
  118. package/esm/notice-bar/style/css/index.css +2 -2
  119. package/esm/notify/style/css/index.css +2 -2
  120. package/esm/pagination/style/css/index.css +2 -2
  121. package/esm/picker/index.js +1 -1
  122. package/esm/picker/style/css/index.css +2 -2
  123. package/esm/picker-view/style/css/index.css +2 -2
  124. package/esm/popover/style/css/index.css +2 -2
  125. package/esm/popover/style/css/menu.css +2 -2
  126. package/esm/popup/style/css/index.css +2 -2
  127. package/esm/popup-swiper/style/css/index.css +2 -2
  128. package/esm/progress/style/css/index.css +2 -2
  129. package/esm/pull-refresh/style/css/index.css +2 -2
  130. package/esm/radio/style/css/index.css +2 -2
  131. package/esm/rate/style/css/index.css +2 -2
  132. package/esm/search-bar/style/css/index.css +2 -2
  133. package/esm/skeleton/style/css/index.css +2 -2
  134. package/esm/slider/style/css/index.css +2 -2
  135. package/esm/stepper/hooks/useInputEvent.d.ts +1 -0
  136. package/esm/stepper/hooks/useInputEvent.js +3 -2
  137. package/esm/stepper/hooks/useValue.d.ts +1 -0
  138. package/esm/stepper/hooks/useValue.js +2 -1
  139. package/esm/stepper/index.js +3 -1
  140. package/esm/stepper/style/css/index.css +2 -2
  141. package/esm/steps/style/css/index.css +2 -2
  142. package/esm/sticky/style/css/index.css +2 -2
  143. package/esm/swipe-action/style/css/index.css +2 -2
  144. package/esm/swipe-load/style/css/index.css +2 -2
  145. package/esm/switch/style/css/index.css +2 -2
  146. package/esm/tab-bar/style/css/index.css +2 -2
  147. package/esm/tabs/style/css/index.css +2 -2
  148. package/esm/tag/style/css/index.css +2 -2
  149. package/esm/textarea/style/css/index.css +2 -2
  150. package/esm/toast/style/css/index.css +2 -2
  151. package/esm/transition/style/css/index.css +2 -2
  152. package/esm/uploader/style/css/index.css +2 -2
  153. package/package.json +3 -3
  154. package/style/css/public.css +2 -2
  155. package/tokens/mixin/index.less +2 -2
  156. package/umd/action-sheet/style/css/index.css +2 -2
  157. package/umd/avatar/style/css/index.css +2 -2
  158. package/umd/badge/style/css/index.css +2 -2
  159. package/umd/button/style/css/index.css +2 -2
  160. package/umd/carousel/style/css/index.css +2 -2
  161. package/umd/cell/style/css/index.css +2 -2
  162. package/umd/checkbox/style/css/index.css +2 -2
  163. package/umd/circle-progress/style/css/index.css +2 -2
  164. package/umd/collapse/style/css/index.css +2 -2
  165. package/umd/count-down/style/css/index.css +2 -2
  166. package/umd/date-picker/index.js +7 -7
  167. package/umd/date-picker/style/css/index.css +2 -2
  168. package/umd/date-picker/type.d.ts +7 -1
  169. package/umd/dialog/style/css/index.css +2 -2
  170. package/umd/divider/style/css/index.css +2 -2
  171. package/umd/dropdown/style/css/index.css +2 -2
  172. package/umd/dropdown-menu/style/css/index.css +2 -2
  173. package/umd/ellipsis/style/css/index.css +2 -2
  174. package/umd/form/form-item.d.ts +0 -3
  175. package/umd/form/form-item.js +19 -34
  176. package/umd/form/index.js +6 -2
  177. package/umd/form/linked-container.d.ts +8 -0
  178. package/umd/form/linked-container.js +78 -0
  179. package/umd/form/style/css/index.css +2 -2
  180. package/umd/form/style/index.less +3 -3
  181. package/umd/form/type.d.ts +7 -11
  182. package/umd/form/useForm.js +38 -50
  183. package/umd/grid/style/css/index.css +2 -2
  184. package/umd/image/style/css/index.css +2 -2
  185. package/umd/image-picker/style/css/index.css +2 -2
  186. package/umd/image-preview/style/css/index.css +2 -2
  187. package/umd/index-bar/style/css/index.css +2 -2
  188. package/umd/input/style/css/index.css +2 -2
  189. package/umd/keyboard/style/css/index.css +2 -2
  190. package/umd/load-more/style/css/index.css +2 -2
  191. package/umd/loading/style/css/index.css +2 -2
  192. package/umd/masking/style/css/index.css +2 -2
  193. package/umd/nav-bar/style/css/index.css +2 -2
  194. package/umd/notice-bar/style/css/index.css +2 -2
  195. package/umd/notify/style/css/index.css +2 -2
  196. package/umd/pagination/style/css/index.css +2 -2
  197. package/umd/picker/index.js +1 -1
  198. package/umd/picker/style/css/index.css +2 -2
  199. package/umd/picker-view/style/css/index.css +2 -2
  200. package/umd/popover/style/css/index.css +2 -2
  201. package/umd/popover/style/css/menu.css +2 -2
  202. package/umd/popup/style/css/index.css +2 -2
  203. package/umd/popup-swiper/style/css/index.css +2 -2
  204. package/umd/progress/style/css/index.css +2 -2
  205. package/umd/pull-refresh/style/css/index.css +2 -2
  206. package/umd/radio/style/css/index.css +2 -2
  207. package/umd/rate/style/css/index.css +2 -2
  208. package/umd/search-bar/style/css/index.css +2 -2
  209. package/umd/skeleton/style/css/index.css +2 -2
  210. package/umd/slider/style/css/index.css +2 -2
  211. package/umd/stepper/hooks/useInputEvent.d.ts +1 -0
  212. package/umd/stepper/hooks/useInputEvent.js +3 -2
  213. package/umd/stepper/hooks/useValue.d.ts +1 -0
  214. package/umd/stepper/hooks/useValue.js +2 -1
  215. package/umd/stepper/index.js +3 -1
  216. package/umd/stepper/style/css/index.css +2 -2
  217. package/umd/steps/style/css/index.css +2 -2
  218. package/umd/sticky/style/css/index.css +2 -2
  219. package/umd/swipe-action/style/css/index.css +2 -2
  220. package/umd/swipe-load/style/css/index.css +2 -2
  221. package/umd/switch/style/css/index.css +2 -2
  222. package/umd/tab-bar/style/css/index.css +2 -2
  223. package/umd/tabs/style/css/index.css +2 -2
  224. package/umd/tag/style/css/index.css +2 -2
  225. package/umd/textarea/style/css/index.css +2 -2
  226. package/umd/toast/style/css/index.css +2 -2
  227. package/umd/transition/style/css/index.css +2 -2
  228. package/umd/uploader/style/css/index.css +2 -2
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.DefaultDatePickerLinkedContainer = DefaultDatePickerLinkedContainer;
7
+ exports.DefaultPickerLinkedContainer = DefaultPickerLinkedContainer;
8
+
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+
11
+ var _react = _interopRequireWildcard(require("react"));
12
+
13
+ var _mobileUtils = require("@arco-design/mobile-utils");
14
+
15
+ var _helper = require("../date-picker/helper");
16
+
17
+ var _contextProvider = require("../context-provider");
18
+
19
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
+
21
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
22
+
23
+ function DefaultPickerLinkedContainer(_ref) {
24
+ var value = _ref.value;
25
+
26
+ var _useContext = (0, _react.useContext)(_contextProvider.GlobalContext),
27
+ prefixCls = _useContext.prefixCls,
28
+ locale = _useContext.locale;
29
+
30
+ var className = prefixCls + "-form-picker-link-container";
31
+ return /*#__PURE__*/_react.default.createElement("div", {
32
+ className: className
33
+ }, value && value.length ? value.join('-') : /*#__PURE__*/_react.default.createElement("span", {
34
+ className: className + "-placeholder"
35
+ }, locale == null ? void 0 : locale.Form.pickerDefaultHint));
36
+ }
37
+
38
+ function DefaultDatePickerLinkedContainer(_ref2) {
39
+ var ts = _ref2.ts,
40
+ types = _ref2.types;
41
+
42
+ var _useContext2 = (0, _react.useContext)(_contextProvider.GlobalContext),
43
+ prefixCls = _useContext2.prefixCls,
44
+ locale = _useContext2.locale;
45
+
46
+ var className = prefixCls + "-form-picker-link-container";
47
+ var dateTimeStr = (0, _react.useMemo)(function () {
48
+ return formatDateTimeStr(ts, types);
49
+ }, [ts, types]);
50
+
51
+ function formatDateTimeStr(timestamp, itemTypes) {
52
+ var dateObj = (0, _helper.convertTsToDateObj)(timestamp);
53
+ var validDateObj = Object.keys(dateObj).reduce(function (acc, key) {
54
+ var _ref3;
55
+
56
+ return (0, _extends2.default)({}, acc, itemTypes.includes(key) ? (_ref3 = {}, _ref3[key] = (0, _mobileUtils.formatDateNumber)(dateObj[key]), _ref3) : {});
57
+ }, {});
58
+ var dateStr = [validDateObj.year, validDateObj.month, validDateObj.date].filter(function (v) {
59
+ return v;
60
+ }).join('-');
61
+ var timeStr = [validDateObj.hour, validDateObj.minute, validDateObj.second].filter(function (v) {
62
+ return v;
63
+ }).join(':');
64
+ return dateStr + " " + timeStr;
65
+ }
66
+
67
+ return /*#__PURE__*/_react.default.createElement("div", {
68
+ className: className
69
+ }, ts ? dateTimeStr : /*#__PURE__*/_react.default.createElement("span", {
70
+ className: className + "-placeholder"
71
+ }, locale == null ? void 0 : locale.Form.pickerDefaultHint));
72
+ }
@@ -106,7 +106,7 @@
106
106
  * @param @rules {en} customized rewrite rules, default to initial
107
107
  * @example
108
108
  * ```
109
- * @import '@arco-design/mobile-utils/style/mixin.less';
109
+ * @import '@arco-design/mobile-react/style/mixin.less';
110
110
  *
111
111
  * .demo {
112
112
  * .set-prop-with-rtl(right, auto);
@@ -122,7 +122,7 @@
122
122
  * @param @value {en} css property value
123
123
  * @example
124
124
  * ```
125
- * @import '@arco-design/mobile-utils/style/mixin.less';
125
+ * @import '@arco-design/mobile-react/style/mixin.less';
126
126
  *
127
127
  * .demo {
128
128
  * .set-value-with-rtl(text-align, left);
@@ -39,14 +39,14 @@
39
39
  }
40
40
  &-item-control {
41
41
  padding: 16px 0;
42
- .arco-input-wrap, .arco-input {
42
+ .@{prefix}-input-wrap, .@{prefix}-input {
43
43
  padding: 0;
44
44
  }
45
45
  &-wrapper {
46
46
  width: 100%;
47
47
  flex: 1;
48
48
  position: relative;
49
- .arco-input-wrap {
49
+ .@{prefix}-input-wrap {
50
50
  .use-var(height, input-text-line-height);
51
51
  }
52
52
  }
@@ -75,7 +75,7 @@
75
75
 
76
76
  &-item.@{prefix}-form-item-vertical {
77
77
  display: block;
78
- .arco-input-wrap {
78
+ .@{prefix}-input-wrap {
79
79
  .set-prop-with-rtl(padding-left, 0);
80
80
  }
81
81
  .@{prefix}-form-label-item {
@@ -1,5 +1,6 @@
1
1
  import { IRules } from '@arco-design/mobile-utils';
2
2
  import { ReactNode } from 'react';
3
+ import { Promise } from 'es6-promise';
3
4
  export declare type FieldValue = any;
4
5
  export declare type FieldItem = Record<string, any>;
5
6
  export declare type ILayout = 'horizontal' | 'vertical' | 'inline';
@@ -169,19 +170,14 @@ export interface IFormInstance {
169
170
  * 校验所有表单项
170
171
  * @en Validate all fields
171
172
  */
172
- validateFields: () => Promise<FieldItem>;
173
+ validateFields: () => Promise<IFieldError[]>;
173
174
  /**
174
175
  * 提交表单
175
176
  * @en Submit all fields
176
177
  */
177
178
  submit: () => void;
178
179
  }
179
- export declare type InternalFormInstance = Omit<IFormInstance, 'validateFields'> & {
180
- /**
181
- * 校验所有表单项
182
- * @en Validate all fields
183
- */
184
- validateFields: () => Promise<FieldItem>;
180
+ export declare type InternalFormInstance = IFormInstance & {
185
181
  /**
186
182
  * 获取内部方法
187
183
  * @en Get internal methods
@@ -223,8 +219,8 @@ export interface IFormItemContext {
223
219
  validateMessages?: Record<string, unknown>;
224
220
  }
225
221
  export declare type IShouldUpdateFunc = (data: {
226
- preStore: FieldItem;
227
- curStore: FieldItem;
222
+ preValue: any;
223
+ curValue: any;
228
224
  }) => boolean;
229
225
  export interface FormItemProps {
230
226
  /**
@@ -272,7 +268,7 @@ export interface FormItemProps {
272
268
  * 表单项是否刷新
273
269
  * @en Form item is updated
274
270
  */
275
- shouldUpdate?: boolean | IShouldUpdateFunc;
271
+ shouldUpdate?: IShouldUpdateFunc;
276
272
  /**
277
273
  * 表单项规则
278
274
  * @en Form item rules
@@ -327,7 +323,7 @@ export interface IFormItemInnerProps {
327
323
  * 表单项是否刷新
328
324
  * @en Form item is updated
329
325
  */
330
- shouldUpdate?: boolean | IShouldUpdateFunc;
326
+ shouldUpdate?: IShouldUpdateFunc;
331
327
  /**
332
328
  * 表单项下方节点
333
329
  * @en Form item extra node
@@ -6,14 +6,12 @@ exports.__esModule = true;
6
6
  exports.default = useForm;
7
7
  exports.defaultFormDataMethods = void 0;
8
8
 
9
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
-
11
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
-
13
- var _extends5 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _extends6 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
14
10
 
15
11
  var _react = require("react");
16
12
 
13
+ var _es6Promise = require("es6-promise");
14
+
17
15
  /* eslint-disable no-console */
18
16
  var defaultFunc = function defaultFunc() {};
19
17
 
@@ -59,40 +57,41 @@ var FormData = function FormData() {
59
57
  this._callbacks = {};
60
58
 
61
59
  this.setFieldsValue = function (values) {
62
- _this._formData = (0, _extends5.default)({}, _this._formData, values);
60
+ var oldValues = Object.keys(values).reduce(function (acc, key) {
61
+ var _extends2;
63
62
 
64
- _this.notifyField(values);
63
+ return (0, _extends6.default)({}, acc, (_extends2 = {}, _extends2[key] = _this.getFieldValue(key), _extends2));
64
+ }, {});
65
+ _this._formData = (0, _extends6.default)({}, _this._formData, values);
66
+ var onValuesChange = _this._callbacks.onValuesChange;
67
+ onValuesChange && onValuesChange(values, _this._formData);
65
68
 
66
- Object.keys(values).forEach(function (key) {
67
- if (key in _this._fieldsList) {
68
- var _this$_fieldsList$key;
69
+ _this.notifyField(values, oldValues);
69
70
 
70
- (_this$_fieldsList$key = _this._fieldsList[key]) == null ? void 0 : _this$_fieldsList$key.onValueChange();
71
- }
72
- });
73
71
  return true;
74
72
  };
75
73
 
76
74
  this.setFieldValue = function (name, value) {
77
- var _extends2, _onValuesChange, _this$notifyField;
75
+ var _oldValues, _extends3, _onValuesChange, _this$notifyField;
78
76
 
79
- _this._formData = (0, _extends5.default)({}, _this._formData, (_extends2 = {}, _extends2[name] = value, _extends2));
77
+ var oldValues = (_oldValues = {}, _oldValues[name] = _this.getFieldValue(name), _oldValues);
78
+ _this._formData = (0, _extends6.default)({}, _this._formData, (_extends3 = {}, _extends3[name] = value, _extends3));
80
79
  var onValuesChange = _this._callbacks.onValuesChange;
81
80
  onValuesChange && onValuesChange((_onValuesChange = {}, _onValuesChange[name] = value, _onValuesChange), _this._formData);
82
81
 
83
- _this.notifyField((_this$notifyField = {}, _this$notifyField[name] = value, _this$notifyField));
82
+ _this.notifyField((_this$notifyField = {}, _this$notifyField[name] = value, _this$notifyField), oldValues);
84
83
 
85
84
  return true;
86
85
  };
87
86
 
88
- this.notifyField = function (values) {
87
+ this.notifyField = function (values, oldValues) {
89
88
  Object.keys(values).map(function (fieldName) {
90
89
  var _this$_fieldsList;
91
90
 
92
91
  var fieldObj = ((_this$_fieldsList = _this._fieldsList) == null ? void 0 : _this$_fieldsList[fieldName]) || null;
93
92
 
94
93
  if (fieldObj) {
95
- fieldObj.onValueChange(values[fieldName]);
94
+ fieldObj.onValueChange(values[fieldName], oldValues[fieldName]);
96
95
  }
97
96
  });
98
97
  };
@@ -157,11 +156,11 @@ var FormData = function FormData() {
157
156
  var initialValue = self.props.initialValue;
158
157
 
159
158
  if (initialValue !== undefined && name) {
160
- var _extends3, _extends4;
159
+ var _extends4, _extends5;
161
160
 
162
- _this._initialValues = (0, _extends5.default)({}, _this._initialValues, (_extends3 = {}, _extends3[name] = initialValue, _extends3));
161
+ _this._initialValues = (0, _extends6.default)({}, _this._initialValues, (_extends4 = {}, _extends4[name] = initialValue, _extends4));
163
162
 
164
- _this.setFieldsValue((0, _extends5.default)({}, _this._formData, (_extends4 = {}, _extends4[name] = initialValue, _extends4)));
163
+ _this.setFieldsValue((0, _extends6.default)({}, _this._formData, (_extends5 = {}, _extends5[name] = initialValue, _extends5)));
165
164
  }
166
165
 
167
166
  return function () {
@@ -173,7 +172,7 @@ var FormData = function FormData() {
173
172
  };
174
173
 
175
174
  this.setInitialValues = function (initVal) {
176
- _this._initialValues = (0, _extends5.default)({}, initVal || {});
175
+ _this._initialValues = (0, _extends6.default)({}, initVal || {});
177
176
 
178
177
  _this.setFieldsValue(initVal);
179
178
  };
@@ -190,8 +189,8 @@ var FormData = function FormData() {
190
189
  return errors;
191
190
  }));
192
191
  });
193
- var summaryPromise = new Promise(function (resolve, reject) {
194
- Promise.all(promiseList).then(function (res) {
192
+ var summaryPromise = new _es6Promise.Promise(function (resolve, reject) {
193
+ _es6Promise.Promise.all(promiseList).then(function (res) {
195
194
  var errorResults = res.filter(function (item) {
196
195
  var _item$errors;
197
196
 
@@ -208,31 +207,20 @@ var FormData = function FormData() {
208
207
  return summaryPromise;
209
208
  };
210
209
 
211
- this.submit = /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
212
- return _regenerator.default.wrap(function _callee$(_context) {
213
- while (1) {
214
- switch (_context.prev = _context.next) {
215
- case 0:
216
- _this.validateFields().then(function (result) {
217
- var onSubmit = _this._callbacks.onSubmit;
218
- onSubmit == null ? void 0 : onSubmit(_this._formData, result);
219
- }).catch(function (e) {
220
- var onSubmitFailed = _this._callbacks.onSubmitFailed;
221
-
222
- if (!onSubmitFailed) {
223
- return;
224
- }
225
-
226
- onSubmitFailed(_this._formData, e);
227
- });
228
-
229
- case 1:
230
- case "end":
231
- return _context.stop();
232
- }
210
+ this.submit = function () {
211
+ _this.validateFields().then(function (result) {
212
+ var onSubmit = _this._callbacks.onSubmit;
213
+ onSubmit == null ? void 0 : onSubmit(_this._formData, result);
214
+ }).catch(function (e) {
215
+ var onSubmitFailed = _this._callbacks.onSubmitFailed;
216
+
217
+ if (!onSubmitFailed) {
218
+ return;
233
219
  }
234
- }, _callee);
235
- }));
220
+
221
+ onSubmitFailed(_this._formData, e);
222
+ });
223
+ };
236
224
 
237
225
  this.setCallbacks = function (callbacks) {
238
226
  _this._callbacks = callbacks;
@@ -106,7 +106,7 @@
106
106
  * @param @rules {en} customized rewrite rules, default to initial
107
107
  * @example
108
108
  * ```
109
- * @import '@arco-design/mobile-utils/style/mixin.less';
109
+ * @import '@arco-design/mobile-react/style/mixin.less';
110
110
  *
111
111
  * .demo {
112
112
  * .set-prop-with-rtl(right, auto);
@@ -122,7 +122,7 @@
122
122
  * @param @value {en} css property value
123
123
  * @example
124
124
  * ```
125
- * @import '@arco-design/mobile-utils/style/mixin.less';
125
+ * @import '@arco-design/mobile-react/style/mixin.less';
126
126
  *
127
127
  * .demo {
128
128
  * .set-value-with-rtl(text-align, left);
@@ -106,7 +106,7 @@
106
106
  * @param @rules {en} customized rewrite rules, default to initial
107
107
  * @example
108
108
  * ```
109
- * @import '@arco-design/mobile-utils/style/mixin.less';
109
+ * @import '@arco-design/mobile-react/style/mixin.less';
110
110
  *
111
111
  * .demo {
112
112
  * .set-prop-with-rtl(right, auto);
@@ -122,7 +122,7 @@
122
122
  * @param @value {en} css property value
123
123
  * @example
124
124
  * ```
125
- * @import '@arco-design/mobile-utils/style/mixin.less';
125
+ * @import '@arco-design/mobile-react/style/mixin.less';
126
126
  *
127
127
  * .demo {
128
128
  * .set-value-with-rtl(text-align, left);
@@ -106,7 +106,7 @@
106
106
  * @param @rules {en} customized rewrite rules, default to initial
107
107
  * @example
108
108
  * ```
109
- * @import '@arco-design/mobile-utils/style/mixin.less';
109
+ * @import '@arco-design/mobile-react/style/mixin.less';
110
110
  *
111
111
  * .demo {
112
112
  * .set-prop-with-rtl(right, auto);
@@ -122,7 +122,7 @@
122
122
  * @param @value {en} css property value
123
123
  * @example
124
124
  * ```
125
- * @import '@arco-design/mobile-utils/style/mixin.less';
125
+ * @import '@arco-design/mobile-react/style/mixin.less';
126
126
  *
127
127
  * .demo {
128
128
  * .set-value-with-rtl(text-align, left);
@@ -106,7 +106,7 @@
106
106
  * @param @rules {en} customized rewrite rules, default to initial
107
107
  * @example
108
108
  * ```
109
- * @import '@arco-design/mobile-utils/style/mixin.less';
109
+ * @import '@arco-design/mobile-react/style/mixin.less';
110
110
  *
111
111
  * .demo {
112
112
  * .set-prop-with-rtl(right, auto);
@@ -122,7 +122,7 @@
122
122
  * @param @value {en} css property value
123
123
  * @example
124
124
  * ```
125
- * @import '@arco-design/mobile-utils/style/mixin.less';
125
+ * @import '@arco-design/mobile-react/style/mixin.less';
126
126
  *
127
127
  * .demo {
128
128
  * .set-value-with-rtl(text-align, left);
@@ -106,7 +106,7 @@
106
106
  * @param @rules {en} customized rewrite rules, default to initial
107
107
  * @example
108
108
  * ```
109
- * @import '@arco-design/mobile-utils/style/mixin.less';
109
+ * @import '@arco-design/mobile-react/style/mixin.less';
110
110
  *
111
111
  * .demo {
112
112
  * .set-prop-with-rtl(right, auto);
@@ -122,7 +122,7 @@
122
122
  * @param @value {en} css property value
123
123
  * @example
124
124
  * ```
125
- * @import '@arco-design/mobile-utils/style/mixin.less';
125
+ * @import '@arco-design/mobile-react/style/mixin.less';
126
126
  *
127
127
  * .demo {
128
128
  * .set-value-with-rtl(text-align, left);
@@ -106,7 +106,7 @@
106
106
  * @param @rules {en} customized rewrite rules, default to initial
107
107
  * @example
108
108
  * ```
109
- * @import '@arco-design/mobile-utils/style/mixin.less';
109
+ * @import '@arco-design/mobile-react/style/mixin.less';
110
110
  *
111
111
  * .demo {
112
112
  * .set-prop-with-rtl(right, auto);
@@ -122,7 +122,7 @@
122
122
  * @param @value {en} css property value
123
123
  * @example
124
124
  * ```
125
- * @import '@arco-design/mobile-utils/style/mixin.less';
125
+ * @import '@arco-design/mobile-react/style/mixin.less';
126
126
  *
127
127
  * .demo {
128
128
  * .set-value-with-rtl(text-align, left);
@@ -106,7 +106,7 @@
106
106
  * @param @rules {en} customized rewrite rules, default to initial
107
107
  * @example
108
108
  * ```
109
- * @import '@arco-design/mobile-utils/style/mixin.less';
109
+ * @import '@arco-design/mobile-react/style/mixin.less';
110
110
  *
111
111
  * .demo {
112
112
  * .set-prop-with-rtl(right, auto);
@@ -122,7 +122,7 @@
122
122
  * @param @value {en} css property value
123
123
  * @example
124
124
  * ```
125
- * @import '@arco-design/mobile-utils/style/mixin.less';
125
+ * @import '@arco-design/mobile-react/style/mixin.less';
126
126
  *
127
127
  * .demo {
128
128
  * .set-value-with-rtl(text-align, left);
@@ -106,7 +106,7 @@
106
106
  * @param @rules {en} customized rewrite rules, default to initial
107
107
  * @example
108
108
  * ```
109
- * @import '@arco-design/mobile-utils/style/mixin.less';
109
+ * @import '@arco-design/mobile-react/style/mixin.less';
110
110
  *
111
111
  * .demo {
112
112
  * .set-prop-with-rtl(right, auto);
@@ -122,7 +122,7 @@
122
122
  * @param @value {en} css property value
123
123
  * @example
124
124
  * ```
125
- * @import '@arco-design/mobile-utils/style/mixin.less';
125
+ * @import '@arco-design/mobile-react/style/mixin.less';
126
126
  *
127
127
  * .demo {
128
128
  * .set-value-with-rtl(text-align, left);
@@ -106,7 +106,7 @@
106
106
  * @param @rules {en} customized rewrite rules, default to initial
107
107
  * @example
108
108
  * ```
109
- * @import '@arco-design/mobile-utils/style/mixin.less';
109
+ * @import '@arco-design/mobile-react/style/mixin.less';
110
110
  *
111
111
  * .demo {
112
112
  * .set-prop-with-rtl(right, auto);
@@ -122,7 +122,7 @@
122
122
  * @param @value {en} css property value
123
123
  * @example
124
124
  * ```
125
- * @import '@arco-design/mobile-utils/style/mixin.less';
125
+ * @import '@arco-design/mobile-react/style/mixin.less';
126
126
  *
127
127
  * .demo {
128
128
  * .set-value-with-rtl(text-align, left);
@@ -106,7 +106,7 @@
106
106
  * @param @rules {en} customized rewrite rules, default to initial
107
107
  * @example
108
108
  * ```
109
- * @import '@arco-design/mobile-utils/style/mixin.less';
109
+ * @import '@arco-design/mobile-react/style/mixin.less';
110
110
  *
111
111
  * .demo {
112
112
  * .set-prop-with-rtl(right, auto);
@@ -122,7 +122,7 @@
122
122
  * @param @value {en} css property value
123
123
  * @example
124
124
  * ```
125
- * @import '@arco-design/mobile-utils/style/mixin.less';
125
+ * @import '@arco-design/mobile-react/style/mixin.less';
126
126
  *
127
127
  * .demo {
128
128
  * .set-value-with-rtl(text-align, left);
@@ -106,7 +106,7 @@
106
106
  * @param @rules {en} customized rewrite rules, default to initial
107
107
  * @example
108
108
  * ```
109
- * @import '@arco-design/mobile-utils/style/mixin.less';
109
+ * @import '@arco-design/mobile-react/style/mixin.less';
110
110
  *
111
111
  * .demo {
112
112
  * .set-prop-with-rtl(right, auto);
@@ -122,7 +122,7 @@
122
122
  * @param @value {en} css property value
123
123
  * @example
124
124
  * ```
125
- * @import '@arco-design/mobile-utils/style/mixin.less';
125
+ * @import '@arco-design/mobile-react/style/mixin.less';
126
126
  *
127
127
  * .demo {
128
128
  * .set-value-with-rtl(text-align, left);
@@ -106,7 +106,7 @@
106
106
  * @param @rules {en} customized rewrite rules, default to initial
107
107
  * @example
108
108
  * ```
109
- * @import '@arco-design/mobile-utils/style/mixin.less';
109
+ * @import '@arco-design/mobile-react/style/mixin.less';
110
110
  *
111
111
  * .demo {
112
112
  * .set-prop-with-rtl(right, auto);
@@ -122,7 +122,7 @@
122
122
  * @param @value {en} css property value
123
123
  * @example
124
124
  * ```
125
- * @import '@arco-design/mobile-utils/style/mixin.less';
125
+ * @import '@arco-design/mobile-react/style/mixin.less';
126
126
  *
127
127
  * .demo {
128
128
  * .set-value-with-rtl(text-align, left);
@@ -106,7 +106,7 @@
106
106
  * @param @rules {en} customized rewrite rules, default to initial
107
107
  * @example
108
108
  * ```
109
- * @import '@arco-design/mobile-utils/style/mixin.less';
109
+ * @import '@arco-design/mobile-react/style/mixin.less';
110
110
  *
111
111
  * .demo {
112
112
  * .set-prop-with-rtl(right, auto);
@@ -122,7 +122,7 @@
122
122
  * @param @value {en} css property value
123
123
  * @example
124
124
  * ```
125
- * @import '@arco-design/mobile-utils/style/mixin.less';
125
+ * @import '@arco-design/mobile-react/style/mixin.less';
126
126
  *
127
127
  * .demo {
128
128
  * .set-value-with-rtl(text-align, left);
@@ -106,7 +106,7 @@
106
106
  * @param @rules {en} customized rewrite rules, default to initial
107
107
  * @example
108
108
  * ```
109
- * @import '@arco-design/mobile-utils/style/mixin.less';
109
+ * @import '@arco-design/mobile-react/style/mixin.less';
110
110
  *
111
111
  * .demo {
112
112
  * .set-prop-with-rtl(right, auto);
@@ -122,7 +122,7 @@
122
122
  * @param @value {en} css property value
123
123
  * @example
124
124
  * ```
125
- * @import '@arco-design/mobile-utils/style/mixin.less';
125
+ * @import '@arco-design/mobile-react/style/mixin.less';
126
126
  *
127
127
  * .demo {
128
128
  * .set-value-with-rtl(text-align, left);
@@ -131,7 +131,7 @@ var Picker = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
131
131
  (0, _mobileUtils.nextTick)(function () {
132
132
  setLinkArgs(getCurrentValueData());
133
133
  });
134
- }, []);
134
+ }, [value]);
135
135
 
136
136
  function hidePicker(scene) {
137
137
  setLinkVisible(false);
@@ -106,7 +106,7 @@
106
106
  * @param @rules {en} customized rewrite rules, default to initial
107
107
  * @example
108
108
  * ```
109
- * @import '@arco-design/mobile-utils/style/mixin.less';
109
+ * @import '@arco-design/mobile-react/style/mixin.less';
110
110
  *
111
111
  * .demo {
112
112
  * .set-prop-with-rtl(right, auto);
@@ -122,7 +122,7 @@
122
122
  * @param @value {en} css property value
123
123
  * @example
124
124
  * ```
125
- * @import '@arco-design/mobile-utils/style/mixin.less';
125
+ * @import '@arco-design/mobile-react/style/mixin.less';
126
126
  *
127
127
  * .demo {
128
128
  * .set-value-with-rtl(text-align, left);
@@ -106,7 +106,7 @@
106
106
  * @param @rules {en} customized rewrite rules, default to initial
107
107
  * @example
108
108
  * ```
109
- * @import '@arco-design/mobile-utils/style/mixin.less';
109
+ * @import '@arco-design/mobile-react/style/mixin.less';
110
110
  *
111
111
  * .demo {
112
112
  * .set-prop-with-rtl(right, auto);
@@ -122,7 +122,7 @@
122
122
  * @param @value {en} css property value
123
123
  * @example
124
124
  * ```
125
- * @import '@arco-design/mobile-utils/style/mixin.less';
125
+ * @import '@arco-design/mobile-react/style/mixin.less';
126
126
  *
127
127
  * .demo {
128
128
  * .set-value-with-rtl(text-align, left);
@@ -106,7 +106,7 @@
106
106
  * @param @rules {en} customized rewrite rules, default to initial
107
107
  * @example
108
108
  * ```
109
- * @import '@arco-design/mobile-utils/style/mixin.less';
109
+ * @import '@arco-design/mobile-react/style/mixin.less';
110
110
  *
111
111
  * .demo {
112
112
  * .set-prop-with-rtl(right, auto);
@@ -122,7 +122,7 @@
122
122
  * @param @value {en} css property value
123
123
  * @example
124
124
  * ```
125
- * @import '@arco-design/mobile-utils/style/mixin.less';
125
+ * @import '@arco-design/mobile-react/style/mixin.less';
126
126
  *
127
127
  * .demo {
128
128
  * .set-value-with-rtl(text-align, left);