MotionHighlight
Veriden sekmeler, bölümlü denetimler ya da gezinme; seçime doğru ilerleyen tek bir vurguyla.
WebReact NativeSeçim ve sayfalama
Deneyin
Örnek hazırlanıyor…
En kısa kullanım
<MotionHighlight
items={['Overview', 'Activity', 'Settings']}
value={tab}
onValueChange={setTab}
hover
/>;Sizin yerinize hallettikleri
- Tek bir vurgu öğeler arasında hareket eder ve boyut değiştirir; onu
highlightClassNameile biçimlendirin. - Öğeler
items'tan, key'lergetKey'den, etiketlerrenderItem'dan gelir. hoveronu işaretçiyi izleyip seçime geri döndürür.- Öğeler birkaç satıra kayabilir ve vurgu onları izler.
- Yazı tipi yüklenmesi ve düzen değişiklikleri otomatik olarak yeniden ölçülür.
Şunlar için kullanın
- Sayfa sekmeleri.
- Bir filtre çubuğu.
- Bir ayar formunda bölümlü bir denetim.
Props
| Prop | Tip | Varsayılan | Açıklama |
|---|---|---|---|
items | readonly T[] | —zorunlu | Veri diziniz. |
value | key | null | —zorunlu | Vurgulanan öğenin key'i; null vurguyu gizler. |
onValueChange | (key, item) => void | Bir öğeye basıldığında key ve öğeyle çalışır. | |
getKey | (item) => string | number | item.id | Bir öğe için benzersiz, kararlı bir key döndürür. Varsayılan item.id, dize ve sayılar için öğenin kendisidir. |
renderItem | (item, { selected, index }) => ReactNode | item.label | Bir öğeyi çizer; seçili olup olmadığını alır. |
hover | boolean | false | Öğelerin üzerinde işaretçiyi izler ve ayrılınca value'ya döner (web). |
itemAs | element | 'button' | Her öğenin elemanı. |
itemClassName | string | Her öğe elemanı için class; itemStyle satır içi stilini ayarlar. | |
highlightClassName | string | Vurgu için class; highlightStyle satır içi stilini ayarlar. | |
transition | Transition | spring | Bir timing eğrisi { duration, easing } ya da bir yay { tempo: 'spring', spring }. Yaylar kesildiğinde momentumlarını korur. |
Diğer props render edilen öğeye gider; böylece className, style ve olay işleyiciler her zamanki gibi çalışır.
Web ve React Native
Her öğe varsayılan olarak button olarak render edilir (itemAs bunu değiştirir); basmak onValueChange(key, item) çağırır.
React Native'de öğeler Pressable'dır; konum native driver üzerinde, boyut ise JavaScript'in yönettiği iç içe bir görünümde çalışır.
Bu örneklerde kullanıldı
- Gelen kutusuCanlı sayılı filtre sekmeleri, kaydırarak atılabilen satırlar ve boşluğu kapatan bir liste.
MotionHighlightMotionListMotionSwipeMotionNumber - Fotoğraf akışıFotoğraflar arasında kaydırın, küçük resimlerle atlayın, herhangi bir fotoğrafı tam ekran açın ve ayrıntılarını yukarı çekin.
MotionPagerMotionHighlightMotionZoomMotionSheet