@8bu/vue-otp-input 中文文档教程

发布于 4年前 浏览 29 项目主页 更新于 3年前

Simple Vue OTP Style Input

GitHub ReleaseGitHub 活动许可证BuyMeCoffee

仅支持 Vue.js 2.2.x+

任何 polyfill 错误(缺少函数等)都可以通过导入 polyfill 库或为 webpack & 配置 polyfill 通天塔。 由于这个推荐

alt text

Working demo

Installation

Global:

// main
import Vue from 'vue';
import OTPInput from '@8bu/vue-otp-input';
Vue.use(OTPInput);

Component:

<script>
import OTPInput from '@8bu/vue-otp-input';
import '@8bu/vue-otp-input/';
module.export = {
  name: 'you-component',
  components: {
    'otp-input': OTPInput,
  }
}
</script>

Usage

<template>
  <otp-input
    v-model="userToken"
    class="field-container"
    :length="6"
    pattern="[^0-9]+"
    :ignorePattern="false"
    fieldClass="custom-field-class"
    :size="32"
    @valid="isTokenComplete"
    disabled={false}
  />
</template>

Properties

v-model 默认支持。

PropTypeRequiredDefaultDescription
classstringOuter class container
lengthnumber/string✔️4Number of expected characters
patternstring[^0-9]+Regex pattern of individual character input
ignorePatternbooleanfalseTurn off character validation
fieldClassstringCustom class for each input character
sizenumber/string16Font size of input character (input size = 1.75 x font size).
disabledbooleanfalseWorking like native disabled
passwordbooleanfalseChange all input type to password

Events

NameParam: TypeDescription
changevalue: stringReturn string result of user input
validisValid: booleanValidate whenever user input to see if the input have been fully filled.

Limitation

移动设备可能没有 paste & 后退/删除功能。 我正在研究解决此问题的另一种方法。

Change logs

从 v1.2.0+ 开始,我会记录一些简单的更改日志来跟踪我的更改。

### 1.2.1

  • Add submit event when user press Enter
  • Focus is now select a whole input field

### 1.2.0

  • Fix mobile input issue
  • Update new prop password for changing input type to password

Contributions are welcome!

如果您想为此做出贡献,请阅读贡献指南


Simple Vue OTP Style Input

GitHub ReleaseGitHub ActivityLicenseBuyMeCoffee

Only support Vue.js 2.2.x+

Any polyfill error (missing functions…etc) can be fixed by import polyfill lib or config polyfill for webpack & babel. I removed all polyfill due to this recommend

alt text

Working demo

Installation

Global:

// main
import Vue from 'vue';
import OTPInput from '@8bu/vue-otp-input';
Vue.use(OTPInput);

Component:

<script>
import OTPInput from '@8bu/vue-otp-input';
import '@8bu/vue-otp-input/';
module.export = {
  name: 'you-component',
  components: {
    'otp-input': OTPInput,
  }
}
</script>

Usage

<template>
  <otp-input
    v-model="userToken"
    class="field-container"
    :length="6"
    pattern="[^0-9]+"
    :ignorePattern="false"
    fieldClass="custom-field-class"
    :size="32"
    @valid="isTokenComplete"
    disabled={false}
  />
</template>

Properties

v-model is supported by default.

PropTypeRequiredDefaultDescription
classstringOuter class container
lengthnumber/string✔️4Number of expected characters
patternstring[^0-9]+Regex pattern of individual character input
ignorePatternbooleanfalseTurn off character validation
fieldClassstringCustom class for each input character
sizenumber/string16Font size of input character (input size = 1.75 x font size).
disabledbooleanfalseWorking like native disabled
passwordbooleanfalseChange all input type to password

Events

NameParam: TypeDescription
changevalue: stringReturn string result of user input
validisValid: booleanValidate whenever user input to see if the input have been fully filled.

Limitation

Mobile devices may not have paste & backscape/delete feature. I'm working on another approach for this issue.

Change logs

From v1.2.0+, I will note some simple change log to keep track my changes.

### 1.2.1

  • Add submit event when user press Enter
  • Focus is now select a whole input field

### 1.2.0

  • Fix mobile input issue
  • Update new prop password for changing input type to password

Contributions are welcome!

If you want to contribute to this please read the Contribution guidelines


    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文