PinInput

Her karakter için bir hücreyle tek kullanımlık kod ve PIN girişi. Yazdıkça ileri, Backspace ile geri gider; yapıştırma ya da SMS otomatik doldurma tüm hücreleri doldurur.

KararlıKaynak kod

Telefonuna 6 haneli bir kod gönderdik.

Yazılan: —

Import

import { PinInput } from "@meridui/react";

Örnekler

Uzunluk, maske ve karakterler

API referansı

Bir div role="group" render'lar; aria-label, aria-labelledby ya da bir Field ile ad ver. Ref gruba gider.

PropTipVarsayılanAçıklama
lengthnumber6Hücre sayısı.
valuestring–Controlled kod.
defaultValuestring""Uncontrolled kullanımda başlangıç kodu.
onValueChange(value: string) => void–Her değişimde çağrılır.
onComplete(value: string) => void–Tüm hücreler dolunca bir kez çağrılır.
type"numeric" | "alphanumeric""numeric"Kabul edilen karakterler; numeric mobilde sayı klavyesini açar.
maskbooleanfalseKarakterleri şifre gibi gizler.
placeholderstring–Boş hücrelerin placeholder'ı.
getCellLabel(index: number, length: number) => stringCharacter {i} of {n}Her hücrenin erişilebilir adı.
size"sm" | "md" | "lg""md"Hücre boyutu.
invalid / disabled / requiredboolean–Durumlar; Field içinde ondan gelir.
autoFocusbooleanfalseMount'ta ilk boş hücreye focus verir.
namestring–Kodun tamamını taşıyan gizli input.

Stil verme

SınıfEleman
.mrd-pin-inputGrup (data-size, data-invalid, data-disabled)
.mrd-pin-input__cellHer <input> (data-filled)

Erişilebilirlik

Her hücre, adı olan bir grubun içinde etiketli bir metin alanıdır. İlk hücrede autocomplete="one-time-code" vardır; tarayıcı SMS kodunu önerebilir. Kodda boşluk kalmaz: kodun sonundan ötesine yazılan karakter ilk boş hücreye gider.

TuşNe yapar
0–9A–ZHücreyi doldurur ve sonrakine geçer.
BackspaceHücreyi (boşsa bir öncekini) temizler ve geri gider.
DeleteHücredeki karakteri siler; sonraki karakterler geri kayar.
ArrowLeftArrowRightÖnceki / sonraki hücre (RTL'de ters).
HomeEndİlk hücre / son dolu hücre.

İlgili sayfalar