SegmentedControl

Birkaç görünüm, aralık ya da mod arasında geçiş için hap biçiminde tekli seçim kontrolü. Bir radio grubu gibi davranır: tek Tab durağı, gezinmek için ok tuşları.

KararlıKaynak kod

Import

tsx
import { SegmentedControl, type SegmentedControlOption } from "@merid/react";

Örnekler

Controlled

Uncontrolled kullanımda kontrol defaultValue ile ya da ilk etkin seçenekle başlar. Controlled kullanım için value ve onValueChange ver.

value: month

İkonlu segment'ler

Bir segment'in label değeri ikon olduğunda seçeneğe bir ariaLabel ver.

Devre dışı seçenekler, devre dışı kontrol, tam genişlik

API referansı

SegmentedControl

Ref ve diğer div attribute'ları role="radiogroup" kapsayıcısına gider.

PropTipVarsayılanAçıklama
optionsZorunluSegmentedControlOption[]–Segment'ler.
valuestring–Seçili değer (controlled).
defaultValuestring–Başlangıçta seçili değer (uncontrolled). Varsayılanı ilk etkin seçenektir.
onValueChange(value: string) => void–Seçim değiştiğinde yeni değerle çağrılır.
fullWidthbooleanfalseSegment'leri kapsayıcıyı dolduracak şekilde genişletir.
disabledbooleanfalseKontrolün tamamını devre dışı bırakır.

SegmentedControlOption

PropTipVarsayılanAçıklama
valueZorunlustring–Seçildiğinde bildirilen değer.
labelZorunluReactNode–Segment'in görünür içeriği.
ariaLabelstring–Etiket metin değilse (örneğin bir ikon) erişilebilir ad.
disabledboolean–Segment'i seçilemez yapar; ok tuşları onu atlar.

Stil verme

SeçiciDeğerler
.mrd-segmentedHap biçimli kanal; genişletildiğinde data-full-width
.mrd-segmented__itemHer bir segment <button role="radio">
data-stateHer item'da on · off

Tray section ya da tray kart üzerinde kanal otomatik olarak --mrd-tray-2 rengine geçer. Component değişkeni yoktur.

Erişilebilirlik

  • Kapsayıcı role="radiogroup", her segment ise aria-checked ile role="radio" olur. Gruba aria-label ya da aria-labelledby ile ad ver.
  • Tab sırasında yalnızca seçili segment bulunur. Ok tuşları focus'u taşır ve aynı anda seçer (APG radio group); devre dışı segment'leri atlar, uçlarda başa ya da sona döner.
TuşNe yapar
TabFocus'u seçili segment'e taşır.
→↓Sonraki etkin segment'i seçer.
←↑Önceki etkin segment'i seçer.
Homeİlk etkin segment'i seçer.
EndSon etkin segment'i seçer.

Kullanım ilkeleri

Yap

Görünümü yerinde değiştiren, iki ile beş arası kısa ve paralel etiket kullan: Gün / Hafta / Ay.

Kaçın

Sayfalar arası gezinme için ya da kendi içeriği olan paneller için kullanmak. O bir Tabs işi.

İlgili sayfalar

  • Tabs: içerik panelleri arasında geçiş.
  • Radio: uzun etiketli ya da açıklamalı tekli seçim.
  • Switch: tek bir açık/kapalı ayarı.