TnNumberBox-步进器
该组件一般用于商城购物选择物品数量、购物车数量控制的场景
警告
该输入框只能输入大于或等于 0 的数值
组件位置
typescript
import TnNumberBox from '@tuniao/tnui-vue3-uniapp/components/number-box/src/number-box.vue'
import TnNumberBox from '@tuniao/tnui-vue3-uniapp/components/number-box/src/number-box.vue'
typescript
import TnNumberBox from '@/uni_modules/tuniaoui-vue3/components/number-box/src/number-box.vue'
import TnNumberBox from '@/uni_modules/tuniaoui-vue3/components/number-box/src/number-box.vue'
平台差异说明
App(vue) | H5 | 微信小程序 | 支付宝小程序 | ... |
---|---|---|---|---|
√ | √ | √ | √ | 适配中 |
基本使用
- 通过
v-model
绑定步进器的值 - 通过
disabled
禁止步进器的使用 - 通过
input-disabled
禁止步进器输入数值,仅可以通过加减按钮进行操作
vue
<script lang="ts" setup>
import { ref } from 'vue'
const numberValue = ref<number>(0)
</script>
<template>
<TnNumberBox v-model="numberValue" />
<!-- 禁止操作 -->
<TnNumberBox v-model="numberValue" disabled />
<!-- 禁止输入框输入 -->
<TnNumberBox v-model="numberValue" input-disabled />
</template>
<script lang="ts" setup>
import { ref } from 'vue'
const numberValue = ref<number>(0)
</script>
<template>
<TnNumberBox v-model="numberValue" />
<!-- 禁止操作 -->
<TnNumberBox v-model="numberValue" disabled />
<!-- 禁止输入框输入 -->
<TnNumberBox v-model="numberValue" input-disabled />
</template>
修改步进器的样式
- 通过
size
修改步进器的尺寸,可选值sm
、lg
- 通过
bg-color
和text-color
的值修改步进器的背景颜色和字体颜色,可以传递hex
、rgb
、rgba
和图鸟内置颜色的值背景颜色 \ 字体颜色 - 通过
width
和height
修改组件的宽高,默认单位为 rpx,可以传递带单位的字符串 - 通过
font-size
修改字体大小,默认单位为 rpx,可以传递带单位的字符串
vue
<script lang="ts" setup>
import { ref } from 'vue'
const numberValue = ref<number>(0)
</script>
<template>
<!-- 使用内置尺寸 -->
<TnNumberBox v-model="numberValue" />
<!-- 自定义尺寸 -->
<TnNumberBox v-model="numberValue" width="300" height="80" font-size="40" />
<!-- 自定义组件颜色 -->
<TnNumberBox
v-model="numberValue"
bg-color="tn-grey-light"
text-color="#01BEFF"
/>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
const numberValue = ref<number>(0)
</script>
<template>
<!-- 使用内置尺寸 -->
<TnNumberBox v-model="numberValue" />
<!-- 自定义尺寸 -->
<TnNumberBox v-model="numberValue" width="300" height="80" font-size="40" />
<!-- 自定义组件颜色 -->
<TnNumberBox
v-model="numberValue"
bg-color="tn-grey-light"
text-color="#01BEFF"
/>
</template>
修改步进器的步进值、最小、最大值
- 通过
step
可以设置步进器的步进值,默认值为1
- 通过
max
和min
设置步进器的最大、最小值,默认值为[0 ~ 100]
vue
<script lang="ts" setup>
import { ref } from 'vue'
const numberValue = ref<number>(0)
</script>
<template>
<!-- 设置步进值为0.1,最小值为10,最大值为20 -->
<TnNumberBox v-model="numberValue" :step="0.1" :min="10" :max="20" />
</template>
<script lang="ts" setup>
import { ref } from 'vue'
const numberValue = ref<number>(0)
</script>
<template>
<!-- 设置步进值为0.1,最小值为10,最大值为20 -->
<TnNumberBox v-model="numberValue" :step="0.1" :min="10" :max="20" />
</template>
API
Props
属性名 | 说明 | 类型 | 默认值 | 可选值 |
---|---|---|---|---|
model-value/v-model | 步进器绑定的值 | Number | - | |
size | 步进器的尺寸 | String | - | sm / lg |
width | 步进器宽度,默认单位为 rpx,可以传入带单位的尺寸值 | String | Number | - | - |
height | 步进器高度,默认单位为 rpx,可以传入带单位的尺寸值 | String | Number | - | - |
font-size | 步进器字体大小,默认单位为 rpx,可以传入带单位的尺寸值 | String | Number | - | - |
bg-color | 步进器背景颜色,可以使用图鸟内置的背景色、hex、rgb、rgba | String | - | - |
text-color | 步进器字体颜色,可以使用图鸟内置的背景色、hex、rgb、rgba | String | - | - |
min | 步进器最小值 | Number | 0 | - |
max | 步进器最大值 | Number | 100 | - |
step | 步进器步进值 | Number | 1 | - |
disabled | 禁止操作步进器 | Boolean | false | true |
input-disabled | 禁止步进器输入 | Boolean | false | true |
input-spacing | 输入框与键盘的间距,单位px | Number | 20 | - |
long-press | 长按递增减 | Boolean | true | false |
long-press-interval | 长按递增减的间隔时间,单位ms | Number | 250 | - |
validate-event | 值发生修改时是否触发表单验证 | Boolean | true | false |
Events
事件名 | 说明 | 类型 |
---|---|---|
change | 步进值发生变化时的回调函数 | (value: number) => void |
input | 步进值输入的值发生变化时的回调函数 | (value: number) => void |
Slots
插槽名 | 说明 |
---|---|
minus | 步进器减按钮的内容 |
plus | 步进器加按钮的内容 |