MotionHighlight
Välilehdet, segmentoidut säätimet tai navigointi datasta, ja yksi korostus siirtyy valintaan.
WebReact NativeValinta ja sivutus
Kokeile
Valmistellaan esimerkkiä…
Lyhin käyttö
<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, keytgetKey-funktiosta ja nimikkeetrenderItem-funktiosta. hoversaa 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
| Prop | Tyyppi | Oletus | Kuvaus |
|---|---|---|---|
items | readonly T[] | —pakollinen | Datataulukkosi. |
value | key | null | —pakollinen | Korostetun kohteen key; null piilottaa korostuksen. |
onValueChange | (key, item) => void | Suoritetaan keyn ja kohteen kanssa, kun kohdetta painetaan. | |
getKey | (item) => string | number | item.id | Palauttaa kohteelle yksilöllisen, vakaan keyn. Oletuksena item.id, merkkijonoille ja luvuille kohde itse. |
renderItem | (item, { selected, index }) => ReactNode | item.label | Piirtää kohteen; saa tiedon, onko se valittu. |
hover | boolean | false | Seuraa osoitinta kohteiden yllä ja palaa poistuttaessa value-arvoon (web). |
itemAs | element | 'button' | Kunkin kohteen elementti. |
itemClassName | string | Luokka kullekin kohde-elementille; itemStyle asettaa sen inline-tyylin. | |
highlightClassName | string | Luokka korostukselle; highlightStyle asettaa sen inline-tyylin. | |
transition | Transition | spring | Timing-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ä
- SaapuneetSuodatinvälilehdet live-laskureilla, pois pyyhkäistävät rivit ja lista, joka sulkee aukon.
MotionHighlightMotionListMotionSwipeMotionNumber - KuvasyötePyyhkäise kuvien läpi, hyppää pikkukuvilla, avaa mikä tahansa kuva koko näytölle ja vedä sen tiedot ylös.
MotionPagerMotionHighlightMotionZoomMotionSheet