2016-11-10 13:46:55 +00:00
## InputNumber
Input numerical values with a customizable range.
### Basic usage
:::demo Bind a variable to `v-model` in `<el-input-number>` element and you are set.
```html
< template >
2019-04-12 07:23:20 +00:00
< el-input-number v-model = "num" @change =" handleChange " :min = "1" :max = "10" ></ el-input-number >
2016-11-10 13:46:55 +00:00
< / template >
< script >
export default {
data() {
return {
2019-04-12 07:23:20 +00:00
num: 1
2016-11-10 13:46:55 +00:00
};
},
methods: {
2016-11-14 10:10:52 +00:00
handleChange(value) {
console.log(value)
}
2016-11-10 13:46:55 +00:00
}
};
< / script >
```
:::
### Disabled
:::demo The `disabled` attribute accepts a `boolean` , and if the value is `true` , the component is disabled. If you just need to control the value within a range, you can add `min` attribute to set the minimum value and `max` to set the maximum value. By default, the minimum value is `0` .
```html
< template >
2019-04-12 07:23:20 +00:00
< el-input-number v-model = "num" :disabled = "true" > < / el-input-number >
2016-11-10 13:46:55 +00:00
< / template >
< script >
export default {
data() {
return {
2019-04-12 07:23:20 +00:00
num: 1
2016-11-10 13:46:55 +00:00
}
}
};
< / script >
```
:::
### Steps
Allows you to define incremental steps.
:::demo Add `step` attribute to set the step.
```html
< template >
2019-04-12 07:23:20 +00:00
< el-input-number v-model = "num" :step = "2" > < / el-input-number >
2016-11-10 13:46:55 +00:00
< / template >
< script >
export default {
data() {
return {
2019-04-12 07:23:20 +00:00
num: 5
2016-11-10 13:46:55 +00:00
}
}
};
< / script >
```
:::
2019-04-23 03:28:02 +00:00
### Step strictly
:::demo The `step-strictly` attribute accepts a `boolean` . if this attribute is `true` , input value can only be multiple of step.
```html
< template >
< el-input-number v-model = "num" :step = "2" step-strictly > < / el-input-number >
< / template >
< script >
export default {
data() {
return {
num: 2
}
}
};
< / script >
```
:::
2018-05-23 06:10:34 +00:00
### Precision
:::demo Add `precision` attribute to set the precision of input value.
```html
< template >
2019-04-12 07:23:20 +00:00
< el-input-number v-model = "num" :precision = "2" :step = "0.1" :max = "10" > < / el-input-number >
2018-05-23 06:10:34 +00:00
< / template >
< script >
export default {
data() {
return {
2019-04-12 07:23:20 +00:00
num: 1
2018-05-23 06:10:34 +00:00
}
}
};
< / script >
```
:::
:::tip
2018-08-07 10:33:58 +00:00
The value of `precision` must be a non negative integer and should not be less than the decimal places of `step` .
2018-05-23 06:10:34 +00:00
:::
2017-01-16 02:42:32 +00:00
### Size
2017-09-22 09:46:34 +00:00
Use attribute `size` to set additional sizes with `medium` , `small` or `mini` .
2017-01-16 02:42:32 +00:00
:::demo
```html
< template >
2019-04-12 07:23:20 +00:00
< el-input-number v-model = "num1" > < / el-input-number >
< el-input-number size = "medium" v-model = "num2" > < / el-input-number >
< el-input-number size = "small" v-model = "num3" > < / el-input-number >
< el-input-number size = "mini" v-model = "num4" > < / el-input-number >
2017-01-16 02:42:32 +00:00
< / template >
< script >
export default {
data() {
return {
2019-04-12 07:23:20 +00:00
num1: 1,
num2: 1,
num3: 1,
num4: 1
2017-09-22 09:46:34 +00:00
}
}
};
< / script >
```
:::
### Controls Position
2017-09-23 04:46:37 +00:00
:::demo Set `controls-position` to decide the position of control buttons.
2017-09-22 09:46:34 +00:00
```html
< template >
2019-04-12 07:23:20 +00:00
< el-input-number v-model = "num" controls-position = "right" @change =" handleChange " :min = "1" :max = "10" ></ el-input-number >
2017-09-22 09:46:34 +00:00
< / template >
< script >
export default {
data() {
return {
2019-04-12 07:23:20 +00:00
num: 1
2017-09-22 09:46:34 +00:00
};
},
methods: {
handleChange(value) {
console.log(value);
2017-01-16 02:42:32 +00:00
}
}
};
< / script >
```
:::
2016-11-10 13:46:55 +00:00
### Attributes
| Attribute | Description | Type | Accepted Values | Default |
|----| ----| ---| ----| -----|
2019-01-23 03:34:19 +00:00
|value / v-model | binding value| number | — | 0 |
2018-01-26 02:53:53 +00:00
|min | the minimum allowed value | number | — | `-Infinity` |
2016-11-10 13:46:55 +00:00
|max | the maximum allowed value | number | — | `Infinity` |
|step | incremental step | number | — | 1 |
2019-04-23 03:28:02 +00:00
|step-strictly | whether input value can only be multiple of step | number | — | false |
2018-05-23 06:10:34 +00:00
|precision | precision of input value | number | — | — |
2016-11-10 13:46:55 +00:00
|size | size of the component | string | large/small| — |
|disabled| whether the component is disabled | boolean | — | false |
2016-11-30 10:16:49 +00:00
|controls| whether to enable the control buttons | boolean | — | true |
2017-09-22 09:46:34 +00:00
|controls-position | position of the control buttons | string | right | - |
2017-07-30 08:26:05 +00:00
|name | same as `name` in native input | string | — | — |
2017-09-29 07:58:07 +00:00
|label | label text | string | — | — |
2018-11-05 07:36:36 +00:00
|placeholder | placeholder in input | string | - | - |
2016-11-10 13:46:55 +00:00
### Events
| Event Name | Description | Parameters |
|----| ---- | -----|
2017-07-17 10:24:24 +00:00
|change | triggers when the value changes | value after change |
2017-07-18 04:09:03 +00:00
| blur | triggers when Input blurs | (event: Event) |
| focus | triggers when Input focuses | (event: Event) |
2017-07-18 05:47:35 +00:00
### Methods
| Method | Description | Parameters |
|------|--------|-------|
| focus | focus the Input component | - |
2018-11-05 11:21:24 +00:00
| select | select the text in input element | — |