Kaikki komponentit

MotionHighlight

Välilehdet, segmentoidut säätimet tai navigointi datasta, ja yksi korostus siirtyy valintaan.

WebReact NativeValinta ja sivutus

Kokeile

Valmistellaan esimerkkiä…

Lyhin käyttö

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

Mitä se hoitaa puolestasi

  • Yksi korostus liikkuu ja muuttaa kokoaan kohteiden välillä; muotoile se highlightClassName-arvolla.
  • Kohteet tulevat items-arvosta, keyt getKey-funktiosta ja nimikkeet renderItem-funktiosta.
  • hover saa sen seuraamaan osoitinta ja palaamaan valintaan.
  • Kohteet voivat rivittyä useille riveille, ja korostus seuraa niitä.
  • Fonttien lataus ja asettelumuutokset mitataan uudelleen automaattisesti.

Käytä sitä

  • Sivun välilehdet.
  • Suodatinpalkki.
  • Segmentoitu säädin asetuslomakkeessa.

Props

PropTyyppiOletusKuvaus
itemsreadonly T[]—pakollinenDatataulukkosi.
valuekey | null—pakollinenKorostetun kohteen key; null piilottaa korostuksen.
onValueChange(key, item) => voidSuoritetaan keyn ja kohteen kanssa, kun kohdetta painetaan.
getKey(item) => string | numberitem.idPalauttaa kohteelle yksilöllisen, vakaan keyn. Oletuksena item.id, merkkijonoille ja luvuille kohde itse.
renderItem(item, { selected, index }) => ReactNodeitem.labelPiirtää kohteen; saa tiedon, onko se valittu.
hoverbooleanfalseSeuraa osoitinta kohteiden yllä ja palaa poistuttaessa value-arvoon (web).
itemAselement'button'Kunkin kohteen elementti.
itemClassNamestringLuokka kullekin kohde-elementille; itemStyle asettaa sen inline-tyylin.
highlightClassNamestringLuokka korostukselle; highlightStyle asettaa sen inline-tyylin.
transitionTransitionspringTiming-käyrä { duration, easing } tai jousi { tempo: 'spring', spring }. Jouset säilyttävät liikemääränsä keskeytettäessä.

Muut props-arvot menevät renderöidylle elementille, joten className, style ja tapahtumankäsittelijät toimivat tavalliseen tapaan.

Web ja React Native

Jokainen kohde renderöidään oletuksena button-elementtinä (itemAs muuttaa sen); sen painaminen kutsuu onValueChange(key, item).

React Nativessa kohteet ovat Pressable-elementtejä; sijainti kulkee natiivilla driverilla ja koko JavaScriptin ohjaamalla sisäkkäisellä näkymällä.

Käytetty näissä esimerkeissä

Haku

Kirjoita hakeaksesi dokumentaatiosta.