Všetky komponenty

MotionHighlight

Karty, segmentové prepínače alebo navigácia z údajov, s jedným zvýraznením, ktoré putuje k výberu.

WebReact NativeVýber a stránky

Vyskúšajte

Príprava príkladu…

Najkratšie použitie

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

Čo za vás vyrieši

  • Jedno zvýraznenie sa presúva a mení veľkosť medzi položkami; štýlujte ho cez highlightClassName.
  • Položky pochádzajú z items, kľúče z getKey a popisky z renderItem.
  • hover ho nechá sledovať ukazovateľ a vracať sa k výberu.
  • Položky sa môžu zalamovať do viacerých riadkov a zvýraznenie ich sleduje.
  • Načítanie písiem a zmeny rozloženia sa zmerajú znova automaticky.

Použite na

  • Karty stránky.
  • Lišta filtrov.
  • Segmentový prepínač vo formulári nastavení.

Props

PropTypPredvolenéPopis
itemsreadonly T[]—povinnéVaše pole údajov.
valuekey | null—povinnéKľúč zvýraznenej položky; null zvýraznenie skryje.
onValueChange(key, item) => voidSpustí sa s kľúčom a položkou pri stlačení položky.
getKey(item) => string | numberitem.idVracia jedinečný stabilný kľúč položky. Predvolene item.id, pri reťazcoch a číslach samotnú položku.
renderItem(item, { selected, index }) => ReactNodeitem.labelVykreslí položku; dostane informáciu, či je vybraná.
hoverbooleanfalseSledovať ukazovateľ nad položkami a po odchode sa vrátiť na value (web).
itemAselement'button'Prvok pre každú položku.
itemClassNamestringTrieda pre prvok každej položky; itemStyle nastaví jeho inline štýl.
highlightClassNamestringTrieda pre zvýraznenie; highlightStyle nastaví jeho inline štýl.
transitionTransitionspringKrivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť.

Ostatné props idú do renderovaného prvku, takže className, style a obsluhy udalostí fungujú ako obvykle.

Web a React Native

Každá položka sa predvolene renderuje ako button (itemAs to zmení); stlačenie zavolá onValueChange(key, item).

V React Native sú položky Pressable; poloha beží na natívnom driveri a veľkosť na vnorenom view riadenom JavaScriptom.

Použité v týchto príkladoch

Hľadať

Píšte a hľadajte v dokumentácii.