vill-ui使用文档 | 属性 | 描述 | 类型 | 默认值 | 
|---|---|---|---|
| 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>