NativeSelect

Merid stiliyle platformun <select> elemanı. Tam native klavye desteğini, mobilde işletim sisteminin seçicisini ve form entegrasyonunu hiç JavaScript olmadan alırsın.

KararlıKaynak kod

Import

tsx
import { NativeSelect } from "@merid/react";

Örnekler

Boyutlar

sm 36px, md 46px (varsayılan), lg 50px. Yükseklikler Input ile aynı olduğu için aynı satırda hizalanırlar.

Field içinde

Bir Field içindeyken select, id, aria-describedby, required ve disabled değerlerini context'ten alır; elle bağlamana gerek kalmaz.

Planını istediğin zaman değiştirebilirsin.

Geçersiz ve devre dışı

Field'a verilen error, select'e aria-invalid ekler ve mesajı ona bağlar. Field dışında invalid'i doğrudan ver.

Devam etmek için bir bölge seç.

Controlled

value ve onChange'i native bir select'te olduğu gibi kullan.

Geçerli değer: weekly

API referansı

Ref ve tüm native select attribute'ları <select>'e gider; yalnızca className ve style dıştaki sarmalayıcıya uygulanır. Native size attribute'unun yerini aşağıdaki size prop'u alır.

PropTipVarsayılanAçıklama
size"sm" | "md" | "lg""md"Yükseklik: sm 36px, md 46px, lg 50px.
invalidboolean–Geçersiz stilini (`data-invalid`) ve `aria-invalid`'i zorlar. Field içinde Field'ın error değerinden türetilir.
placeholderstring–Başa devre dışı ve gizli bir `value=""` seçeneği ekler; değer `""` olduğunda (uncontrolled başlangıçta ya da controlled `value=""` ile) görünür.
childrenReactNode–option ve optgroup elemanları.

Stil verme

SeçiciDeğerler
.mrd-native-selectSarmalayıcı <span>; className ve style buraya uygulanır
.mrd-native-select__control<select> elemanı
.mrd-native-select__chevronDekoratif chevron ikonu
data-sizesm · md · lg (sarmalayıcıda)
data-invalidGeçersizken kontrolde bulunur; danger kenarlığını sağlar (anlamı aria-invalid taşır)

Component değişkeni: Input ile ortak kullanılan --mrd-input-height.

Erişilebilirlik

  • Gerçek bir <select> olduğu için ekran okuyucular onu seçenekleriyle birlikte combobox ya da list box olarak duyurur, mobil tarayıcılar da native seçiciyi açar.
  • Ona bir ad ver: çevreleyen bir Field, htmlFor ile bir Label ya da aria-label. placeholder seçeneği etiket yerine geçmez.
TuşNe yapar
TabFocus'u select'e taşır.
SpaceSeçenek listesini açar (platforma göre değişir).
↑↓Seçili seçeneği değiştirir.
A–ZYazılan karakterle başlayan ilk seçeneğe atlar.

Kullanım ilkeleri

Yap

NativeSelect'i bilinen seçeneklerden oluşan sade listeler için kullan, özellikle telefonda doldurulan formlarda.

Kaçın

İçine zengin içerik, ikon ya da arama koymak. Bunlar için Select kullan.

Yap

Mantıklı bir varsayılan yoksa seçim yapmaya yönlendiren bir placeholder kullan, örneğin “Bir plan seç”.

Kaçın

Placeholder'ı tek etiket olarak kullanmak.

İlgili sayfalar

  • Select: daha zengin seçenekler sunan özel listbox.
  • Field: etiket, açıklama ve hata bağlantısı.
  • Input: aynı boyutlarda tek satırlık metin.
  • SegmentedControl: iki ila beş görünür seçenek için.