Skip to content
On this page

组件库文档 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-VUEAPP-NVUE小程序WEB/H5VUE3/TS
✔️✔️✔️✔️✔️

🌱 参数

本组件含有公共属性 公共属性

温馨提示

+,-按钮,长按时可以持续增减。

参数名类型默认值描述
widthNumber210组件宽度
heightNumber52组件高度
disabledBooleanfalse是否禁用
disabledInputBooleanfalse是否禁用输入
stepNumber1步幅长度
fixedNumber0固定小数点位数,0表示整数
colorStringgrey-4按钮主题色
bgColorStringgrey-4输入框背景色
linearString/选择器确认选择按钮的渐变背景方向,可选值有:left:右->左,right:左->右。top:下->上,bottom:上->下
linearDeepStringlight选择器确认选择按钮的渐变背景颜色深浅,可选值有:light,dark,accent亮系渐变和深色渐变
roundString / Number2步进器圆角值
fontSizeString / Number28字体字号大小
circularBooleanfalse步进器按钮是否为圆形
maxNumber999可输入的最大数值
minNumber0可输入的最小数值
modelValue / v-modelNumbernull步进器双向绑定值
defaultValueNumbernull步进器默认值
beforeEnterFunction / Booleantrue返回参数(ty='+' / '-'):+表示增加按钮点击,-:表示减少按钮点击按钮增加或者减少前执行的勾子函数,返回 fase取消当前操作,可以是Promise<boolean>

🌹 事件

事件名参数返回数据描述
change/modelValue步进器内容修改后返回当前数值

🌽 slot插槽

🥗 ref方法

😡 贡献者

Wicos