组件库文档 tmui.design
步进器 Stepper
Stepper 步进器是应用在数值较少且变动较精确的数值输入场景的组件
🌶️ 步进器 Stepper 示例
查看模拟效果+
示例模板
vue
<template>
<tm-app>
<tm-sheet>
<tm-text :font-size="24" _class="text-weight-b" label="基础示例,更多见文档"></tm-text>
<tm-divider></tm-divider>
<tm-stepper @change="changeVal" v-model="test.a" :defaultValue="20"></tm-stepper>
</tm-sheet>
<tm-sheet>
<tm-text :font-size="24" _class="text-weight-b" label="一些其它常见属性"></tm-text>
<tm-divider></tm-divider>
<tm-stepper v-model="val" color="primary" bgColor="primary" circular :defaultValue="20"></tm-stepper>
</tm-sheet>
<tm-sheet>
<tm-text :font-size="24" _class="text-weight-b" label="步幅3"></tm-text>
<tm-divider></tm-divider>
<tm-stepper color="red" bgColor="red" :step="3" circular :defaultValue="0"></tm-stepper>
<tm-text _class="pt-24 text-weight-b" :font-size="24" label="小数点,步幅step:0.01,小数点fixed:2"></tm-text>
<tm-divider></tm-divider>
<tm-stepper :step="0.01" :min="0" :round="0" bgColor="green" color="green" :fixed="2" :defaultValue="0.3"></tm-stepper>
<tm-text _class="pt-24 text-weight-b" :font-size="24" label="最大值10,最小值-3"></tm-text>
<tm-divider></tm-divider>
<tm-stepper :max="10" :min="-3" :defaultValue="1"></tm-stepper>
</tm-sheet>
<tm-sheet>
<tm-text :font-size="24" _class="text-weight-b" label="异步增减,尺寸的改变"></tm-text>
<tm-divider></tm-divider>
<tm-stepper
:width="200"
:height="62"
:beforeEnter="beforeEnter"
color="red"
linear="bottom"
bgColor="red"
circular
:defaultValue="20"
></tm-stepper>
</tm-sheet>
</tm-app>
</template>
<script lang="ts" setup>
import { ref, reactive } from 'vue'
import tmApp from '@/tmui/components/tm-app/tm-app.vue'
import tmSheet from '@/tmui/components/tm-sheet/tm-sheet.vue'
import tmText from '@/tmui/components/tm-text/tm-text.vue'
import tmStepper from '@/tmui/components/tm-stepper/tm-stepper.vue'
import tmDivider from '@/tmui/components/tm-divider/tm-divider.vue'
const val = ref(0)
const test = reactive({ a: 1 })
setTimeout(() => {
test.a = 100
}, 1000)
function beforeEnter() {
return new Promise((res) => {
setTimeout(function () {
res(true)
}, 1000)
})
}
function changeVal(e) {
console.log(e)
}
</script>
🌶️ 兼容性
APP-VUE | APP-NVUE | 小程序 | WEB/H5 | VUE3/TS |
---|---|---|---|---|
✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
🌱 参数
本组件含有公共属性 公共属性
温馨提示
+,-按钮,长按时可以持续增减。
参数名 | 类型 | 默认值 | 描述 |
---|---|---|---|
width | Number | 210 | 组件宽度 |
height | Number | 52 | 组件高度 |
disabled | Boolean | false | 是否禁用 |
disabledInput | Boolean | false | 是否禁用输入 |
step | Number | 1 | 步幅长度 |
fixed | Number | 0 | 固定小数点位数,0表示整数 |
color | String | grey-4 | 按钮主题色 |
bgColor | String | grey-4 | 输入框背景色 |
linear | String | / | 选择器确认选择按钮的渐变背景方向,可选值有:left:右->左,right:左->右。top:下->上,bottom:上->下 |
linearDeep | String | light | 选择器确认选择按钮的渐变背景颜色深浅,可选值有:light,dark,accent亮系渐变和深色渐变 |
round | String / Number | 2 | 步进器圆角值 |
fontSize | String / Number | 28 | 字体字号大小 |
circular | Boolean | false | 步进器按钮是否为圆形 |
max | Number | 999 | 可输入的最大数值 |
min | Number | 0 | 可输入的最小数值 |
modelValue / v-model | Number | null | 步进器双向绑定值 |
defaultValue | Number | null | 步进器默认值 |
beforeEnter | Function / Boolean | true | 返回参数(ty='+' / '-'):+表示增加按钮点击,-:表示减少按钮点击按钮增加或者减少前执行的勾子函数,返回 fase取消当前操作,可以是Promise<boolean> |
🌹 事件
事件名 | 参数 | 返回数据 | 描述 |
---|---|---|---|
change | / | modelValue | 步进器内容修改后返回当前数值 |
🌽 slot插槽
无
🥗 ref方法
无