Browse Source

fix: (InputNumber) value be formated when precision is set and defaultvalue is empty (#741)

rojer 3 years ago
parent
commit
4f8897ac8b

+ 1 - 1
packages/semi-foundation/inputNumber/foundation.ts

@@ -432,7 +432,7 @@ class InputNumberFoundation extends BaseFoundation<InputNumberAdapter> {
 
     _adjustPrec(num: string | number) {
         const precision = this.getProp('precision');
-        if (typeof precision === 'number') {
+        if (typeof precision === 'number' && num !== '') {
             num = Number(num).toFixed(precision);
         }
         return toString(num);

+ 4 - 0
packages/semi-ui/inputNumber/_story/inputNumber.stories.js

@@ -63,6 +63,10 @@ export const _InputNumber = () => {
         />
         <br />
 
+        <label>小数(没有初始化值)</label>
+        <InputNumber precision={2} onChange={log} />
+        <br />
+
         <label>小数</label>
         <InputNumber defaultValue={10.08} precision={2} onChange={log} />
         <br />