Commit 7a05b6e5f9adb76493d6d9b99133f48f1045678d
1 parent
36a91579
fixed #1810
Showing
2 changed files
with
12 additions
and
3 deletions
Show diff stats
examples/routers/input-number.vue
| @@ -6,7 +6,8 @@ | @@ -6,7 +6,8 @@ | ||
| 6 | <!--<div @click="changeMax">change max</div>--> | 6 | <!--<div @click="changeMax">change max</div>--> |
| 7 | <!--<Input-number disabled :max="10" :min="1" :step="1.2" v-model="v2"></Input-number>--> | 7 | <!--<Input-number disabled :max="10" :min="1" :step="1.2" v-model="v2"></Input-number>--> |
| 8 | <!--<Input-number :max="10" :min="1" v-model="obj.v"></Input-number>--> | 8 | <!--<Input-number :max="10" :min="1" v-model="obj.v"></Input-number>--> |
| 9 | - <InputNumber :max="10" :min="1" v-model="value1"></InputNumber> | 9 | + {{ value1 }} |
| 10 | + <InputNumber :precision="1" :max="10" :min="1" :step="0.1" v-model="value1"></InputNumber> | ||
| 10 | </div> | 11 | </div> |
| 11 | </template> | 12 | </template> |
| 12 | <script> | 13 | <script> |
| @@ -21,7 +22,7 @@ | @@ -21,7 +22,7 @@ | ||
| 21 | obj: { | 22 | obj: { |
| 22 | 23 | ||
| 23 | }, | 24 | }, |
| 24 | - value1: 1 | 25 | + value1: 1.0 |
| 25 | }; | 26 | }; |
| 26 | }, | 27 | }, |
| 27 | computed: {}, | 28 | computed: {}, |
src/components/input-number/input-number.vue
| @@ -25,7 +25,7 @@ | @@ -25,7 +25,7 @@ | ||
| 25 | @keydown.stop="keyDown" | 25 | @keydown.stop="keyDown" |
| 26 | @change="change" | 26 | @change="change" |
| 27 | :name="name" | 27 | :name="name" |
| 28 | - :value="currentValue"> | 28 | + :value="precisionValue"> |
| 29 | </div> | 29 | </div> |
| 30 | </div> | 30 | </div> |
| 31 | </template> | 31 | </template> |
| @@ -98,6 +98,9 @@ | @@ -98,6 +98,9 @@ | ||
| 98 | }, | 98 | }, |
| 99 | name: { | 99 | name: { |
| 100 | type: String | 100 | type: String |
| 101 | + }, | ||
| 102 | + precision: { | ||
| 103 | + type: Number | ||
| 101 | } | 104 | } |
| 102 | }, | 105 | }, |
| 103 | data () { | 106 | data () { |
| @@ -151,6 +154,10 @@ | @@ -151,6 +154,10 @@ | ||
| 151 | }, | 154 | }, |
| 152 | inputClasses () { | 155 | inputClasses () { |
| 153 | return `${prefixCls}-input`; | 156 | return `${prefixCls}-input`; |
| 157 | + }, | ||
| 158 | + precisionValue () { | ||
| 159 | + // can not display 1.0 | ||
| 160 | + return this.currentValue.toFixed(this.precision); | ||
| 154 | } | 161 | } |
| 155 | }, | 162 | }, |
| 156 | methods: { | 163 | methods: { |
| @@ -208,6 +215,7 @@ | @@ -208,6 +215,7 @@ | ||
| 208 | this.setValue(val); | 215 | this.setValue(val); |
| 209 | }, | 216 | }, |
| 210 | setValue (val) { | 217 | setValue (val) { |
| 218 | + val = Number(Number(val).toFixed(this.precision)); | ||
| 211 | this.$nextTick(() => { | 219 | this.$nextTick(() => { |
| 212 | this.currentValue = val; | 220 | this.currentValue = val; |
| 213 | this.$emit('input', val); | 221 | this.$emit('input', val); |