Vant Stepper 步進(jìn)器

2022-05-31 11:59 更新

介紹

步進(jìn)器由增加按鈕、減少按鈕和輸入框組成,用于在一定范圍內(nèi)輸入、調(diào)整數(shù)字

引入

import Vue from 'vue';
import { Stepper } from 'vant';

Vue.use(Stepper);

代碼演示

基礎(chǔ)用法

通過(guò)v-model綁定輸入值,可以通過(guò)change事件監(jiān)聽(tīng)到輸入值的變化

<van-stepper v-model="value" />
export default {
  data() {
    return {
      value: 1
    }
  }
}

步長(zhǎng)設(shè)置

通過(guò)step屬性設(shè)置每次點(diǎn)擊增加或減少按鈕時(shí)變化的值,默認(rèn)為1

<van-stepper v-model="value" step="2" />

限制輸入范圍

通過(guò)min和max屬性限制輸入值的范圍

<van-stepper v-model="value" min="5" max="8" />

限制輸入整數(shù)

設(shè)置integer屬性后,輸入框?qū)⑾拗浦荒茌斎胝麛?shù)

<van-stepper v-model="value" integer />

禁用狀態(tài)

通過(guò)設(shè)置disabled屬性來(lái)禁用步進(jìn)器,禁用狀態(tài)下無(wú)法點(diǎn)擊按鈕或修改輸入框

<van-stepper v-model="value" disabled />

禁用輸入框

通過(guò)設(shè)置disabled-input屬性來(lái)禁用輸入框,此時(shí)按鈕仍然可以點(diǎn)擊

<van-stepper v-model="value" disabled-input />

固定小數(shù)位數(shù)

通過(guò)設(shè)置decimal-length屬性可以保留固定的小數(shù)位數(shù)

<van-stepper v-model="value" step="0.2" :decimal-length="1" />

自定義大小

通過(guò)input-width屬性設(shè)置輸入框?qū)挾?,通過(guò)button-size屬性設(shè)置按鈕大小和輸入框高度

<van-stepper v-model="value" input-width="40px" button-size="32px" />

異步變更

如果需要異步地修改輸入框的值,可以設(shè)置async-change屬性,并在change事件中手動(dòng)修改value

<van-stepper
  :value="value"
  async-change
  @change="onChange"
/>
import { Toast } from 'vant';

export default {
  data() {
    return {
      value: 1
    }
  },
  methods: {
    onChange(value) {
      Toast.loading({ forbidClick: true });

      setTimeout(() => {
        Toast.clear();

        // 注意此時(shí)修改 value 后會(huì)再次觸發(fā) change 事件
        this.value = value;
      }, 500);
    }
  }
}

API

Props

參數(shù)說(shuō)明類型默認(rèn)值
v-model當(dāng)前輸入值number | string-
min最小值number | string1
max最大值number | string-
default-value初始值,當(dāng) v-model 為空時(shí)生效number | string1
step步長(zhǎng),每次點(diǎn)擊時(shí)改變的值number | string1
name v2.2.11標(biāo)識(shí)符,可以在change事件回調(diào)參數(shù)中獲取number | string-
input-width輸入框?qū)挾?,默認(rèn)單位為pxnumber | string32px
button-size v2.0.5按鈕大小以及輸入框高度,默認(rèn)單位為pxnumber | string28px
decimal-length v2.2.1固定顯示的小數(shù)位數(shù)number | string-
integer是否只允許輸入整數(shù)booleanfalse
disabled是否禁用步進(jìn)器booleanfalse
disable-plus v2.2.16是否禁用增加按鈕booleanfalse
disable-minus v2.2.16是否禁用減少按鈕booleanfalse
disable-input是否禁用輸入框booleanfalse
async-change是否開(kāi)啟異步變更,開(kāi)啟后需要手動(dòng)控制輸入值booleanfalse
show-plus v2.1.2是否顯示增加按鈕booleantrue
show-minus v2.1.2是否顯示減少按鈕booleantrue
long-press v2.4.3是否開(kāi)啟長(zhǎng)按手勢(shì)booleantrue

Events

事件名說(shuō)明回調(diào)參數(shù)
change當(dāng)綁定值變化時(shí)觸發(fā)的事件value: 當(dāng)前組件的值, detail: 額外信息,包含 name 的字段
overlimit點(diǎn)擊不可用的按鈕時(shí)觸發(fā)-
plus點(diǎn)擊增加按鈕時(shí)觸發(fā)-
minus點(diǎn)擊減少按鈕時(shí)觸發(fā)-
focus輸入框聚焦時(shí)觸發(fā)event: Event
blur輸入框失焦時(shí)觸發(fā)event: Event


實(shí)例演示

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)