@kdcloudjs/kdesign 1.7.33-stable.8 → 1.7.33-stable.9

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.
@@ -62,6 +62,10 @@ var InternalInputNumber = function InternalInputNumber(props, ref) {
62
62
  _useState4 = _slicedToArray(_useState3, 2),
63
63
  forceUpdate = _useState4[0],
64
64
  setForceUpdate = _useState4[1];
65
+ var _useState5 = useState(''),
66
+ _useState6 = _slicedToArray(_useState5, 2),
67
+ compositionValue = _useState6[0],
68
+ setCompositionValue = _useState6[1];
65
69
  var inputStatus = useRef({
66
70
  isHandleChange: false,
67
71
  inputFocused: false
@@ -71,6 +75,7 @@ var InternalInputNumber = function InternalInputNumber(props, ref) {
71
75
  var inputNumberRef = ref || thisInputNumberRef;
72
76
  var stepMouseDownDelayTimer = useRef(null);
73
77
  var stepMouseDownIntervalTimer = useRef(null);
78
+ var refIszComposition = useRef(false);
74
79
  var isScopeValid = function isScopeValid(value) {
75
80
  if (value === '') return true;
76
81
  var numberValue = parseFloat(value) || 0;
@@ -112,14 +117,20 @@ var InternalInputNumber = function InternalInputNumber(props, ref) {
112
117
  };
113
118
  var handleChange = function handleChange(event) {
114
119
  inputStatus.current.isHandleChange = true;
115
- var legalNumber = verifiValue(event.target.value);
116
- updateSelectionRangePosition(event);
117
- if (legalNumber === false) {
118
- setForceUpdate(forceUpdate + 1);
119
- return false;
120
+ var newValue = event.target.value;
121
+ if (!refIszComposition.current) {
122
+ compositionValue && setCompositionValue('');
123
+ var legalNumber = verifiValue(newValue);
124
+ if (legalNumber === false) {
125
+ setForceUpdate(forceUpdate + 1);
126
+ return false;
127
+ }
128
+ value === undefined && setInputValue(legalNumber);
129
+ onChange && onChange(handleEventAttachValue(event, numberMode ? Number(legalNumber) : legalNumber));
130
+ updateSelectionRangePosition(event);
131
+ } else {
132
+ setCompositionValue(newValue);
120
133
  }
121
- value === undefined && setInputValue(legalNumber);
122
- onChange && onChange(handleEventAttachValue(event, numberMode ? Number(legalNumber) : legalNumber));
123
134
  };
124
135
  var handleFocus = function handleFocus(event) {
125
136
  inputStatus.current.inputFocused = true;
@@ -318,9 +329,19 @@ var InternalInputNumber = function InternalInputNumber(props, ref) {
318
329
  inputValue: displayedInputValue,
319
330
  forceUpdate: forceUpdate
320
331
  });
332
+ var handleComposition = function handleComposition(e) {
333
+ refIszComposition.current = e.type !== 'compositionend';
334
+ if (!refIszComposition.current) {
335
+ setCompositionValue('');
336
+ handleChange(e);
337
+ }
338
+ };
321
339
  return /*#__PURE__*/React.createElement(Input, _extends({}, others, {
340
+ onCompositionStart: handleComposition,
341
+ onCompositionUpdate: handleComposition,
342
+ onCompositionEnd: handleComposition,
322
343
  ref: inputNumberRef,
323
- value: displayedInputValue,
344
+ value: compositionValue || displayedInputValue,
324
345
  prefix: prefix,
325
346
  suffix: suffix,
326
347
  onChange: handleChange,
@@ -74,6 +74,10 @@ var InternalInputNumber = function InternalInputNumber(props, ref) {
74
74
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
75
75
  forceUpdate = _useState4[0],
76
76
  setForceUpdate = _useState4[1];
77
+ var _useState5 = (0, _react.useState)(''),
78
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
79
+ compositionValue = _useState6[0],
80
+ setCompositionValue = _useState6[1];
77
81
  var inputStatus = (0, _react.useRef)({
78
82
  isHandleChange: false,
79
83
  inputFocused: false
@@ -83,6 +87,7 @@ var InternalInputNumber = function InternalInputNumber(props, ref) {
83
87
  var inputNumberRef = ref || thisInputNumberRef;
84
88
  var stepMouseDownDelayTimer = (0, _react.useRef)(null);
85
89
  var stepMouseDownIntervalTimer = (0, _react.useRef)(null);
90
+ var refIszComposition = (0, _react.useRef)(false);
86
91
  var isScopeValid = function isScopeValid(value) {
87
92
  if (value === '') return true;
88
93
  var numberValue = parseFloat(value) || 0;
@@ -124,14 +129,20 @@ var InternalInputNumber = function InternalInputNumber(props, ref) {
124
129
  };
125
130
  var handleChange = function handleChange(event) {
126
131
  inputStatus.current.isHandleChange = true;
127
- var legalNumber = verifiValue(event.target.value);
128
- updateSelectionRangePosition(event);
129
- if (legalNumber === false) {
130
- setForceUpdate(forceUpdate + 1);
131
- return false;
132
+ var newValue = event.target.value;
133
+ if (!refIszComposition.current) {
134
+ compositionValue && setCompositionValue('');
135
+ var legalNumber = verifiValue(newValue);
136
+ if (legalNumber === false) {
137
+ setForceUpdate(forceUpdate + 1);
138
+ return false;
139
+ }
140
+ value === undefined && setInputValue(legalNumber);
141
+ onChange && onChange(handleEventAttachValue(event, numberMode ? Number(legalNumber) : legalNumber));
142
+ updateSelectionRangePosition(event);
143
+ } else {
144
+ setCompositionValue(newValue);
132
145
  }
133
- value === undefined && setInputValue(legalNumber);
134
- onChange && onChange(handleEventAttachValue(event, numberMode ? Number(legalNumber) : legalNumber));
135
146
  };
136
147
  var handleFocus = function handleFocus(event) {
137
148
  inputStatus.current.inputFocused = true;
@@ -330,9 +341,19 @@ var InternalInputNumber = function InternalInputNumber(props, ref) {
330
341
  inputValue: displayedInputValue,
331
342
  forceUpdate: forceUpdate
332
343
  });
344
+ var handleComposition = function handleComposition(e) {
345
+ refIszComposition.current = e.type !== 'compositionend';
346
+ if (!refIszComposition.current) {
347
+ setCompositionValue('');
348
+ handleChange(e);
349
+ }
350
+ };
333
351
  return /*#__PURE__*/_react.default.createElement(_input.default, (0, _extends2.default)({}, others, {
352
+ onCompositionStart: handleComposition,
353
+ onCompositionUpdate: handleComposition,
354
+ onCompositionEnd: handleComposition,
334
355
  ref: inputNumberRef,
335
- value: displayedInputValue,
356
+ value: compositionValue || displayedInputValue,
336
357
  prefix: prefix,
337
358
  suffix: suffix,
338
359
  onChange: handleChange,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kdcloudjs/kdesign",
3
- "version": "1.7.33-stable.8",
3
+ "version": "1.7.33-stable.9",
4
4
  "description": "KDesign 金蝶前端react 组件库",
5
5
  "title": "kdesign",
6
6
  "keywords": [