Wszystkie komponenty

MotionHighlight

Karty, kontrolki segmentowe lub nawigacja z danych, z jednym wyróżnieniem, które przesuwa się do wyboru.

SiećReact NativeWybór i strony

Wypróbuj

Przygotowywanie przykładu…

Najkrótsze użycie

Tabs.jsx
<MotionHighlight
  items={['Overview', 'Activity', 'Settings']}
  value={tab}
  onValueChange={setTab}
  hover
/>;

Co robi za ciebie

  • Jedno wyróżnienie przesuwa się i zmienia rozmiar między elementami; stylizuj je przez highlightClassName.
  • Elementy pochodzą z items, klucze z getKey, a etykiety z renderItem.
  • hover sprawia, że podąża za wskaźnikiem i wraca do wyboru.
  • Elementy mogą zawijać się w kilka rzędów, a wyróżnienie za nimi podąża.
  • Wczytanie czcionek i zmiany układu są mierzone ponownie automatycznie.

Do czego służy

  • Karty strony.
  • Pasek filtrów.
  • Kontrolka segmentowa w formularzu ustawień.

Props

PropTypDomyślnieOpis
itemsreadonly T[]—wymaganeTwoja tablica danych.
valuekey | null—wymaganeKlucz wyróżnionego elementu; null ukrywa wyróżnienie.
onValueChange(key, item) => voidUruchamia się z kluczem i elementem po naciśnięciu elementu.
getKey(item) => string | numberitem.idZwraca unikalny, stabilny klucz elementu. Domyślnie item.id, a dla ciągów i liczb sam element.
renderItem(item, { selected, index }) => ReactNodeitem.labelRysuje element; dostaje informację, czy jest wybrany.
hoverbooleanfalsePodążaj za wskaźnikiem nad elementami i wróć do value po wyjściu (sieć).
itemAselement'button'Element dla każdej pozycji.
itemClassNamestringKlasa dla elementu każdej pozycji; itemStyle ustawia jego styl inline.
highlightClassNamestringKlasa wyróżnienia; highlightStyle ustawia jego styl inline.
transitionTransitionspringKrzywa timing { duration, easing } lub sprężyna { tempo: 'spring', spring }. Sprężyny zachowują pęd po przerwaniu.

Pozostałe props trafiają do renderowanego elementu, więc className, style i obsługa zdarzeń działają jak zwykle.

Sieć i React Native

Każdy element domyślnie renderuje się jako button (itemAs to zmienia); naciśnięcie wywołuje onValueChange(key, item).

W React Native elementy to Pressable; pozycja działa na sterowniku natywnym, a rozmiar na zagnieżdżonym widoku sterowanym przez JavaScript.

Użyty w tych przykładach

Szukaj

Zacznij pisać, aby przeszukać dokumentację.