Skip to content

Input OTP

Komponen kode sekali pakai yang mudah diakses, lengkap dengan dukungan salin-tempel.

Instalasi

CLI

bash
npx shadcn-vue@latest add input-otp

Manual

Pasang dependensi berikut:

bash
npm install vue-input-otp

Salin dan tempel kode sumber di GitHub ke project Anda.

Sesuaikan path import dengan struktur project Anda.

Penggunaan

vue
<script setup lang="ts">
import {
  InputOTP,
  InputOTPGroup,
  InputOTPSeparator,
  InputOTPSlot,
} from '@/components/ui/input-otp'
</script>

<template>
  <InputOTP v-model="value" :maxlength="6">
    <InputOTPGroup>
      <InputOTPSlot :index="0" />
      <InputOTPSlot :index="1" />
      <InputOTPSlot :index="2" />
    </InputOTPGroup>
    <InputOTPSeparator />
    <InputOTPGroup>
      <InputOTPSlot :index="3" />
      <InputOTPSlot :index="4" />
      <InputOTPSlot :index="5" />
    </InputOTPGroup>
  </InputOTP>
</template>

Contoh

Pola

Pakai prop pattern untuk menentukan pola kustom pada input OTP.

vue
<script setup lang="ts">
import { REGEXP_ONLY_DIGITS_AND_CHARS } from 'vue-input-otp'
// ...
</script>

<template>
  <InputOTP
    maxlength="6"
    :pattern="REGEXP_ONLY_DIGITS_AND_CHARS"
  >
    <InputOTPGroup>
      <InputOTPSlot :index="0" />
      <!-- ... -->
    </InputOTPGroup>
  </InputOTP>
</template>

Separator

Pakai komponen <InputOTPSeparator /> untuk menyisipkan pemisah di antara kelompok input.

vue
<script setup lang="ts">
import {
  InputOTP,
  InputOTPGroup,
  InputOTPSeparator,
  InputOTPSlot,
} from '@/components/ui/input-otp'
// ...
</script>

<template>
  <InputOTP maxlength="4">
    <InputOTPGroup>
      <InputOTPSlot :index="0" />
      <InputOTPSlot :index="1" />
    </InputOTPGroup>
    <InputOTPSeparator />
    <InputOTPGroup>
      <InputOTPSlot :index="2" />
      <InputOTPSlot :index="3" />
    </InputOTPGroup>
  </InputOTP>
</template>

Dikendalikan dari Luar

Pakai direktif v-model untuk mengendalikan nilai input dari luar.

Enter your one-time password.

Form

Komponen InputOTP bisa dipakai di dalam form, misalnya bersama VeeValidate.

Please enter the one-time password sent to your phone.

Dirilis di bawah lisensi MIT. Fork dari shadcn-vue.