Alle komponenter

MotionHighlight

Faner, segmenterte kontroller eller navigasjon fra data, med én markering som flytter til utvalget.

WebReact NativeUtvalg og sider

Prøv det

Forbereder eksempelet …

Korteste bruk

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

Dette tar den seg av

  • Én markering flytter og endrer størrelse mellom elementer; stil den med highlightClassName.
  • Elementer kommer fra items, nøkler fra getKey og etiketter fra renderItem.
  • hover får den til å følge pekeren og gå tilbake til utvalget.
  • Elementer kan brytes over flere rader, og markeringen følger dem.
  • Innlasting av skrifttyper og layoutendringer måles automatisk på nytt.

Bruk den til

  • Sidefaner.
  • En filterlinje.
  • En segmentert kontroll i et innstillingsskjema.

Props

PropTypeStandardBeskrivelse
itemsreadonly T[]—påkrevdData-arrayen din.
valuekey | null—påkrevdNøkkelen for det markerte elementet; null skjuler markeringen.
onValueChange(key, item) => voidKjører med nøkkelen og elementet når et element trykkes.
getKey(item) => string | numberitem.idReturnerer en unik, stabil nøkkel for et element. Standard er item.id, eller selve elementet for strenger og tall.
renderItem(item, { selected, index }) => ReactNodeitem.labelTegner et element; får vite om det er valgt.
hoverbooleanfalseFølg pekeren over elementer og gå tilbake til value når den forlater (web).
itemAselement'button'Elementet for hvert punkt.
itemClassNamestringKlasse for hvert punkts element; itemStyle setter inline-stilen.
highlightClassNamestringKlasse for markeringen; highlightStyle setter inline-stilen.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjær { tempo: 'spring', spring }. Fjærer beholder momentet når de avbrytes.

Andre props går til det renderte elementet, så className, style og hendelseshåndterere fungerer som vanlig.

Web og React Native

Hvert element renderes som standard som button (itemAs endrer det); et trykk kaller onValueChange(key, item).

I React Native er elementene Pressable; posisjonen kjører på native driver og størrelsen på en nøstet visning som styres av JavaScript.

Brukt i disse eksemplene

Søk

Skriv for å søke i dokumentasjonen.