Skip to content

NumberBox 步进器

13:10

该组件一般用于商城购物选择物品数量的场景

注意:该输入框只能输入大于或等于0的整数,不支持小数输入

平台差异说明

AppH5微信小程序支付宝小程序百度小程序头条小程序QQ小程序

基本使用

通过v-model绑定value初始值,此值是双向绑定的,无需在回调中将返回的数值重新赋值给value

html
<template>
	<u-number-box v-model="value" @change="valChange"></u-number-box>
</template>

<script setup lang="ts">
import { ref } from 'vue'

// 定义响应式数据
const value = ref<number>(0)

// 定义值变化的回调函数
const valChange = (e: { value: number }) => {
	console.log('当前值为: ' + e.value)
}
</script>

步长设置

  • 通过step属性设置每次点击增加或减少按钮时变化的值,默认为1

注意: step参数支持小数值,如1.10.3

下面示例每次都会加2或者减2

html
<u-number-box :step="2"></u-number-box>

限制输入范围

通过minmax参数限制输的入值最小值和最大值

html
<u-number-box :min="1" :max="100"></u-number-box>

禁用状态

通过设置disabled参数来禁用输入框,禁用状态下无法点击加减按钮或修改输入框的值

html
<u-number-box :disabled="true"></u-number-box>

自定义大小

  • 通过input-width参数设置输入框的宽度
  • 通过input-height参数设置输入框和按钮的高度,单位都是rpx
html
<u-number-box :input-width="100" :input-height="60"></u-number-box>

API

Props

参数说明类型默认值可选值
v-model输入框初始值Number1-
bg-color输入框和按钮的背景颜色String#F2F3F5-
min用户可输入的最小值Number0-
max用户可输入的最大值Number99999-
step步长,每次加或减的值,1.4.5起支持小数值,如需小数,请设置positive-integerfalseNumber1-
disabled是否禁用操作,禁用后无法加减或手动修改输入框的值Booleanfalsetrue
size输入框文字和按钮字体大小,单位rpxString | Number26-
color输入框文字和加减按钮图标的颜色String#323233-
input-width输入框宽度,单位rpxString | Number80-
input-height输入框和按钮的高度,单位rpxString | Number50-
index事件回调时用以区分当前发生变化的是哪个输入框String | Number--
disabled-input是否禁止输入框手动输入值Booleanfalsetrue
cursor-spacing指定光标于键盘的距离,避免键盘遮挡输入框,单位rpxString | Number200-
long-press是否开启长按连续递增或递减Booleantruefalse
press-time开启长按触发后,每触发一次需要多久,单位msString | Number250-
positive-integer是否只能输入正整数Booleantruefalse

Events

事件名说明回调参数版本
change输入框内容发生变化时触发,对象形式value:输入框当前值,index:通过props传递的index-
blur输入框失去焦点时触发,对象形式value:输入框当前值,index:通过props传递的index-
minus点击减少按钮时触发(按钮可点击情况下),对象形式value:输入框当前值,index:通过props传递的index-
plus点击增加按钮时触发(按钮可点击情况下),对象形式value:输入框当前值,index:通过props传递的index-
blur输入框失去焦点时触发,对象形式value:输入框当前值,index:通过props传递的index-