属性 | 描述 | 类型 | 默认值 |
---|---|---|---|
value | 要绑定的值,可通过v-model绑定 | number| string | - |
currentValue | 初始值,当 v-model 为空时生效 | number| string | 0 |
min | 最小值 必须大于0 | numbe| String | 1 |
max | 最大值 必须大于0 | number| String | Infinity |
step | 步长 必须大于0 | number| String | 1 |
inputSize | 输入框的宽 | number| String | 32 |
buttonSize | 按钮的大小 | number| String | 28 |
decimalLength | 保留几位小数 | number| String | - |
integer | 是否是整数 | Boolean | true |
disabled | 禁用stepper,包括按钮输入框 | Boolean | false |
disablePlus | 禁用增加按钮 | Boolean | false |
disableMinus | 禁用减少按钮 | Boolean | false |
disableInput | 禁用输入按钮 | Boolean | false |
asyncChange | 是否异步变化 | Boolean | false |
showPlus | 展示新增按钮 | Boolean | true |
showMinus | 展示减少按钮 | Boolean | true |
名称 | 说明 | 参数 |
---|---|---|
inuput | input事件 | newVal |
change | change事件 | newVal |
overlimit | 超出限制事件 | - |
plus | 点击新增按钮触发 | data |
minus | 点击减少按钮触发 | data |
focus | 输入框获取焦点触发 | event |
blur | 输入框失去焦点触发 | event |
<template>
<div>
<div class="items">
<p class="item_title">基础用法</p>
<vill-stepper v-model="val" @focus="focus" @blur="blur" @minus="minus" @plus="plus" @change="handlechange" @overlimit="overlimit" @input="handleinput"/>
</div>
<div class="items">
<p class="item_title">最大值为8,最小值为2</p>
<vill-stepper v-model="limitvalue" min="2" max="8"/>
</div>
<div class="items">
<p class="item_title">最大值为8,最小值为0, 步长为2</p>
<vill-stepper v-model="stepvalue" step="2" min="0" max="8"/>
</div>
<div class="items">
<p class="item_title">开启非整数模式</p>
<vill-stepper v-model="floatvalue" :integer="false"/>
</div>
<div class="items">
<p class="item_title">开启非整数模式,保留2位小数</p>
<vill-stepper v-model="floatfiexdvalue" :decimalLength="2" :integer="false"/>
</div>
<div class="items">
<p class="item_title">开启非整数模式, 步长为0.2,min为3,max为4</p>
<vill-stepper v-model="floatstepvalue" :integer="false" step="0.2" min="3" max="4" />
</div>
<div class="items">
<p class="item_title">禁用计步器</p>
<vill-stepper :disabled="true" v-model="floatstepvalue" :integer="false" step="0.2" min="3" max="4" />
</div>
<div class="items">
<p class="item_title">禁用计步器的输入框</p>
<vill-stepper :disableInput="true" v-model="disableInputvalue" :integer="false" step="0.2" min="3" max="4" />
</div>
<div class="items">
<p class="item_title">自定义尺寸</p>
<vill-stepper buttonSize="40" inputSize="68" v-model="sizevalue" />
</div>
<div class="items">
<p class="item_title">异步跟新数据</p>
<vill-stepper :value="ayncvalue" :asyncChange="true" @change="change"/>
</div>
</div>
</template>
<script>
export default {
data () {
return {
val: 2,
limitvalue: 3,
stepvalue: 1,
floatvalue: 1.1,
floatfiexdvalue: 2.1,
floatstepvalue: 3.1,
disableInputvalue: 3,
sizevalue: 100,
ayncvalue: 10
}
},
watch: {
val(newval) {
console.log('=== val change ===', newval)
},
limitvalue(newval) {
console.log('=== limitvalue change ===', newval)
}
},
methods: {
back() {
this.$router.go(-1)
},
change(data) {
let loading = this.$loading()
setTimeout(() => {
this.ayncvalue = data
loading.close()
}, 1000)
},
focus(event) {
console.log('focus', event)
},
blur() {
console.log('blur')
},
minus(val) {
console.log('minus', val)
},
plus(val) {
console.log('plus', val)
},
handlechange(val) {
console.log('handlechange', val)
},
handleinput(val) {
console.log('handleinput', val)
},
overlimit() {
console.log('overlimit')
}
}
}
</script>