@ucloud-fe/react-components 1.4.3 → 1.4.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.
@@ -240,7 +240,7 @@ var Range = function Range(_ref2) {
240
240
  onInitialChange && onInitialChange(initialValue);
241
241
  updateValueWithoutCallOnChange(initialValue);
242
242
  }.bind(this));
243
- var handleStartChange = (0, _react.useCallback)(function (value) {
243
+ var handleStartChange = (0, _react.useCallback)(function (value, isClear) {
244
244
  (0, _newArrowCheck2.default)(this, _this3);
245
245
 
246
246
  var _cacheValue = (0, _slicedToArray2.default)(cacheValue, 2),
@@ -250,7 +250,8 @@ var Range = function Range(_ref2) {
250
250
  var rangeDateValidResult = (0, _utils.isRangeDateValid)(newValue, rules, precision);
251
251
  setRangeError(undefined);
252
252
 
253
- if (rangeDateValidResult !== true) {
253
+ if (isClear) {// noop
254
+ } else if (rangeDateValidResult !== true) {
254
255
  var _inputRefE$current;
255
256
 
256
257
  (_inputRefE$current = inputRefE.current) === null || _inputRefE$current === void 0 ? void 0 : _inputRefE$current.focus();
@@ -274,7 +275,7 @@ var Range = function Range(_ref2) {
274
275
 
275
276
  setCacheValue(newValue);
276
277
  }.bind(this), [cacheValue, rules, precision, isFirstEditing, locale, onChange]);
277
- var handleEndChange = (0, _react.useCallback)(function (value) {
278
+ var handleEndChange = (0, _react.useCallback)(function (value, isClear) {
278
279
  (0, _newArrowCheck2.default)(this, _this3);
279
280
 
280
281
  var _cacheValue2 = (0, _slicedToArray2.default)(cacheValue, 1),
@@ -284,7 +285,8 @@ var Range = function Range(_ref2) {
284
285
  var rangeDateValidResult = (0, _utils.isRangeDateValid)(newValue, rules, precision);
285
286
  setRangeError(undefined);
286
287
 
287
- if (rangeDateValidResult !== true) {
288
+ if (isClear) {// noop
289
+ } else if (rangeDateValidResult !== true) {
288
290
  var _inputRefS$current;
289
291
 
290
292
  (_inputRefS$current = inputRefS.current) === null || _inputRefS$current === void 0 ? void 0 : _inputRefS$current.focus();
@@ -308,6 +310,14 @@ var Range = function Range(_ref2) {
308
310
 
309
311
  setCacheValue(newValue);
310
312
  }.bind(this), [cacheValue, rules, precision, isFirstEditing, locale, onChange]);
313
+ var onClearS = (0, _react.useCallback)(function () {
314
+ (0, _newArrowCheck2.default)(this, _this3);
315
+ handleStartChange(null, true);
316
+ }.bind(this), [handleStartChange]);
317
+ var onClearE = (0, _react.useCallback)(function () {
318
+ (0, _newArrowCheck2.default)(this, _this3);
319
+ handleEndChange(null, true);
320
+ }.bind(this), [handleEndChange]);
311
321
  var handleOptionChange = (0, _react.useCallback)(function (value) {
312
322
  (0, _newArrowCheck2.default)(this, _this3);
313
323
  if (value !== 'custom') onChange(getValueFromOption(options, value));
@@ -346,7 +356,8 @@ var Range = function Range(_ref2) {
346
356
  nullable: nullableS,
347
357
  placeholder: placeholderS,
348
358
  shortcuts: shortcutsS,
349
- actionRef: actionRefS
359
+ actionRef: actionRefS,
360
+ onClear: onClearS
350
361
  }, sharedPickerProps), {}, {
351
362
  rules: isFirstEditing === 2 ? _objectSpread(_objectSpread({}, rules), {}, {
352
363
  range: [(_rules$range = rules.range) === null || _rules$range === void 0 ? void 0 : _rules$range[0], cacheValue[1]]
@@ -374,7 +385,8 @@ var Range = function Range(_ref2) {
374
385
  nullable: nullableE,
375
386
  placeholder: placeholderE,
376
387
  shortcuts: shortcutsE,
377
- actionRef: actionRefE
388
+ actionRef: actionRefE,
389
+ onClear: onClearE
378
390
  }, sharedPickerProps), {}, {
379
391
  rules: isFirstEditing === 2 ? _objectSpread(_objectSpread({}, rules), {}, {
380
392
  range: [cacheValue[0], (_rules$range2 = rules.range) === null || _rules$range2 === void 0 ? void 0 : _rules$range2[1]]
@@ -7,5 +7,5 @@ declare type TProps<D> = {
7
7
  interface DisplayToFormatAndTimeMode<D> {
8
8
  (display?: D): [string[]] | [string[], string[]];
9
9
  }
10
- declare const usePicker: <D>(props: TProps<D>, displayToFormatAndTimeMode: DisplayToFormatAndTimeMode<D>, mode: 'date' | 'month') => any[];
10
+ declare const usePicker: <D>(props: TProps<D>, displayToFormatAndTimeMode: DisplayToFormatAndTimeMode<D>, mode: 'date' | 'month', onClear?: (() => void) | undefined) => any[];
11
11
  export default usePicker;
@@ -106,7 +106,7 @@ var align = {
106
106
  targetOffset: [0, 0]
107
107
  };
108
108
 
109
- var usePicker = function usePicker(props, displayToFormatAndTimeMode, mode) {
109
+ var usePicker = function usePicker(props, displayToFormatAndTimeMode, mode, onClear) {
110
110
  var _this2 = this;
111
111
 
112
112
  (0, _newArrowCheck2.default)(this, _this);
@@ -259,7 +259,7 @@ var usePicker = function usePicker(props, displayToFormatAndTimeMode, mode) {
259
259
  setInputValue('');
260
260
  setCalValue(null);
261
261
  }.bind(this), []);
262
- var handleConfirm = (0, _react.useCallback)(function (v) {
262
+ var handleConfirm = (0, _react.useCallback)(function (v, dontChangeVisible) {
263
263
  (0, _newArrowCheck2.default)(this, _this2);
264
264
  var currentValue = v !== undefined ? v : calValue;
265
265
 
@@ -270,13 +270,17 @@ var usePicker = function usePicker(props, displayToFormatAndTimeMode, mode) {
270
270
  }
271
271
 
272
272
  onChange && onChange(currentValue ? (0, _moment.default)(+currentValue) : null);
273
- setVisible(false);
273
+
274
+ if (!dontChangeVisible) {
275
+ setVisible(false);
276
+ }
274
277
  }.bind(this), [calValue, nullable, onChange, rules, value]);
275
278
  var handleInputClear = (0, _react.useCallback)(function () {
276
279
  (0, _newArrowCheck2.default)(this, _this2);
277
- clear();
278
- handleConfirm(null);
279
- }.bind(this), [clear, handleConfirm]);
280
+ clear(); // 不走 onChange,区分两种操作
281
+
282
+ onClear === null || onClear === void 0 ? void 0 : onClear();
283
+ }.bind(this), [clear, onClear]);
280
284
  var handleCalendarChange = (0, _react.useCallback)(function (v) {
281
285
  (0, _newArrowCheck2.default)(this, _this2);
282
286
  v = (0, _utils.getValidDate)(v, rules);
@@ -7,10 +7,11 @@ export declare type RangePickerRef = {
7
7
  focus: () => void;
8
8
  clear: () => void;
9
9
  } | undefined;
10
- declare const useRangePicker: ({ prefix, type, suffix, actionRef, ...pickProps }: DatePickerProps & {
10
+ declare const useRangePicker: ({ prefix, type, suffix, actionRef, onClear, ...pickProps }: DatePickerProps & {
11
11
  prefix?: boolean | undefined;
12
12
  type?: "date" | "month" | undefined;
13
13
  suffix?: ReactNode;
14
14
  actionRef: MutableRefObject<RangeActionRef | undefined>;
15
+ onClear?: (() => void) | undefined;
15
16
  }) => any[];
16
17
  export default useRangePicker;
@@ -29,7 +29,7 @@ var _Month = require("./Month");
29
29
 
30
30
  var _usePicker3 = _interopRequireDefault(require("./usePicker"));
31
31
 
32
- var _excluded = ["prefix", "type", "suffix", "actionRef"];
32
+ var _excluded = ["prefix", "type", "suffix", "actionRef", "onClear"];
33
33
 
34
34
  var _this = void 0;
35
35
 
@@ -57,10 +57,11 @@ var useRangePicker = function useRangePicker(_ref) {
57
57
  type = _ref$type === void 0 ? 'date' : _ref$type,
58
58
  suffix = _ref.suffix,
59
59
  actionRef = _ref.actionRef,
60
+ onClear = _ref.onClear,
60
61
  pickProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
61
62
  var isMonth = type === 'month';
62
63
 
63
- var _usePicker = (0, _usePicker3.default)(_objectSpread({}, pickProps), isMonth ? _Month.displayToFormatAndTimeMode : _DatePicker.displayToFormatAndTimeMode, type),
64
+ var _usePicker = (0, _usePicker3.default)(_objectSpread({}, pickProps), isMonth ? _Month.displayToFormatAndTimeMode : _DatePicker.displayToFormatAndTimeMode, type, onClear),
64
65
  _usePicker2 = (0, _slicedToArray2.default)(_usePicker, 9),
65
66
  inputProps = _usePicker2[0],
66
67
  popoverProps = _usePicker2[2],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ucloud-fe/react-components",
3
- "version": "1.4.3",
3
+ "version": "1.4.4",
4
4
  "title": "UCloud react components",
5
5
  "description": "UCloud react components",
6
6
  "keywords": [