NumberInput 数字输入
示例
尺寸
可供选用的尺寸 ui
属性值:xs
/ s
/ m
。
<template>
<article>
<section>
<veui-number-input v-model="value"/>
</section>
<section>
<veui-number-input
v-model="value"
ui="s"
/>
</section>
<section>
<veui-number-input
v-model="value"
ui="xs"
/>
</section>
</article>
</template>
<script>
import { NumberInput } from 'veui'
export default {
components: {
'veui-number-input': NumberInput
},
data () {
return {
value: 0
}
}
}
</script>
<style lang="less" scoped>
section {
margin-bottom: 20px;
}
</style>
只读状态
设置 readonly
来使数字输入框处于只读状态。
<template>
<article>
<section>
<veui-checkbox v-model="readonly">
只读
</veui-checkbox>
</section>
<section>
<veui-number-input
v-model="value"
:readonly="readonly"
/>
</section>
<section>
<veui-number-input
v-model="value"
:readonly="readonly"
ui="s"
/>
</section>
<section>
<veui-number-input
v-model="value"
:readonly="readonly"
ui="xs"
/>
</section>
</article>
</template>
<script>
import { NumberInput, Checkbox } from 'veui'
export default {
components: {
'veui-number-input': NumberInput,
'veui-checkbox': Checkbox
},
data () {
return {
readonly: true,
value: 0
}
}
}
</script>
<style lang="less" scoped>
section {
margin-bottom: 1em;
}
</style>
禁用状态
设置 disabled
来使数字输入框处于禁用状态。
<template>
<article>
<section>
<veui-checkbox v-model="disabled">
禁用
</veui-checkbox>
</section>
<section>
<veui-number-input
v-model="value"
:disabled="disabled"
/>
</section>
<section>
<veui-number-input
v-model="value"
:disabled="disabled"
ui="s"
/>
</section>
<section>
<veui-number-input
v-model="value"
:disabled="disabled"
ui="xs"
/>
</section>
</article>
</template>
<script>
import { NumberInput, Checkbox } from 'veui'
export default {
components: {
'veui-number-input': NumberInput,
'veui-checkbox': Checkbox
},
data () {
return {
disabled: true,
value: 0
}
}
}
</script>
<style lang="less" scoped>
section {
margin-bottom: 20px;
}
</style>
精度位数和递增/递减
设置 decimal-place
来指定数值的小数精度位数。
设置 step
来指定每次递增/减的数值。
精确2位小数,递增0.01
精确2位小数,递增0.1
<template>
<article>
<section>
<h4>精确2位小数,递增0.01</h4>
<veui-number-input
:decimal-place="2"
:step="0.01"
/>
</section>
<section>
<h4>精确2位小数,递增0.1</h4>
<veui-number-input
:decimal-place="2"
:step="0.1"
/>
</section>
</article>
</template>
<script>
import { NumberInput } from 'veui'
export default {
components: {
'veui-number-input': NumberInput
}
}
</script>
API
属性
名称 | 类型 | 默认值 | 描述 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
ui | string | - | 预设样式。
| ||||||||
value | number | - |
数字输入框的值。 | ||||||||
readonly | boolean | false | 数字输入框是否为只读状态。 | ||||||||
disabled | boolean | false | 数字输入框是否为禁用状态。 | ||||||||
placeholder | string | - | 输入占位符。 | ||||||||
autofocus | boolean | false | 数字输入框是否自动聚焦。 | ||||||||
select-on-focus | boolean | false | 聚焦时是否自动选中数字输入框文本。 | ||||||||
max | number | - | 允许的最大值。 | ||||||||
min | number | - | 允许的最小值。 | ||||||||
decimal-place | number | 0 | 数值的小数精度位数,默认精确到整数位,-1 表示不处理精度。 | ||||||||
step | number | 1 | 每次递增/递减的数值。 | ||||||||
format | (val: number, defaultFormattedValue: string) => string | - | 自定义数字格式化。 | ||||||||
parse | (val: string) => number | - | 自定义将输入的值解析成数字。 |
插槽
名称 | 描述 |
---|---|
before | 数字输入框前置内容。 |
after | 数字输入框后置内容。位于增减按钮之后。 |
事件
名称 | 描述 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
change | 原生
| |||||||||
input |
有效输入时触发,受数字格式化影响,若当前值格式化为无效值,则不触发。回调参数为 |
此外,NumberInput
支持如下的原生事件:
auxclick
、click
、contextmenu
、dblclick
、mousedown
、mouseenter
、mouseleave
、mousemove
、mouseover
、mouseout
、mouseup
、select
、wheel
、keydown
、keypress
、keyup
、focus
、blur
、focusin
、focusout
。
回调函数的参数都为原生事件对象。
图标
名称 | 描述 |
---|---|
increase | 增加按钮。 |
decrease | 减少按钮。 |