Všechny komponenty

MotionHighlight

Karty, segmentové přepínače nebo navigace z dat, s jedním zvýrazněním, které putuje k výběru.

WebReact NativeVýběr a stránky

Vyzkoušejte

Příprava příkladu…

Nejkratší použití

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

Co za vás vyřeší

  • Jedno zvýraznění se přesouvá a mění velikost mezi položkami; stylujte ho přes highlightClassName.
  • Položky pocházejí z items, klíče z getKey a popisky z renderItem.
  • hover ho nechá sledovat ukazatel a vracet se k výběru.
  • Položky se mohou zalamovat do více řádků a zvýraznění je sleduje.
  • Načtení písem a změny rozvržení se změří znovu automaticky.

Použijte pro

  • Karty stránky.
  • Lišta filtrů.
  • Segmentový přepínač ve formuláři nastavení.

Props

PropTypVýchozíPopis
itemsreadonly T[]—povinnéVaše pole dat.
valuekey | null—povinnéKlíč zvýrazněné položky; null zvýraznění skryje.
onValueChange(key, item) => voidSpustí se s klíčem a položkou při stisku položky.
getKey(item) => string | numberitem.idVrací jedinečný stabilní klíč položky. Ve výchozím stavu item.id, u řetězců a čísel samotnou položku.
renderItem(item, { selected, index }) => ReactNodeitem.labelVykreslí položku; dostane informaci, zda je vybraná.
hoverbooleanfalseSledovat ukazatel nad položkami a po odchodu se vrátit na value (web).
itemAselement'button'Prvek pro každou položku.
itemClassNamestringTřída pro prvek každé položky; itemStyle nastaví jeho inline styl.
highlightClassNamestringTřída pro zvýraznění; highlightStyle nastaví jeho inline styl.
transitionTransitionspringKřivka timing { duration, easing } nebo pružina { tempo: 'spring', spring }. Pružiny si při přerušení zachovávají hybnost.

Ostatní props jdou do renderovaného prvku, takže className, style a obsluhy událostí fungují jako obvykle.

Web a React Native

Každá položka se ve výchozím stavu renderuje jako button (itemAs to změní); stisk zavolá onValueChange(key, item).

V React Native jsou položky Pressable; poloha běží na nativním driveru a velikost na vnořeném view řízeném JavaScriptem.

Použito v těchto příkladech

Hledat

Pište a hledejte v dokumentaci.