MotionNumber · MotionText
Číslo, ktorého rády sa točia ako kolieska, vrátane rádov, ktoré sa objavujú alebo miznú.
WebReact NativeČísla a text
Vyskúšajte
Príprava príkladu…
Najkratšie použitie
<MotionNumber value={count} />
<MotionNumber value={total} mode="roll" intl locale="en-US"
format={{ style: 'currency', currency: 'USD' }} />
<MotionText>{status}</MotionText>Čo za vás vyrieši
- Prenosy:
999 → 1,000pretočí každý zmenený rád rovnakým smerom, ako tachometer. - Rády, ktoré sa objavujú alebo miznú, vrolujú či vyrolujú vo vlastnom stĺpci namiesto toho, aby vyskočili.
- Oddeľovače, znamienka a symboly mien sa objavujú a miznú s rádom, ku ktorému patria.
- Zvyšné rády pri rolovaní kĺžu na nové miesta, takže sa číslo nikdy nerozpadne.
- Nová hodnota uprostred pohybu pokračuje presne od toho, čo je na obrazovke.
- Formátovanie nikdy nevyžaduje
Intl: odovzdajte text alebo funkciuformat, prípadne zapniteintl.
Použite na
- Súčet košíka, ktorý sa mení s pridávaním položiek.
- Živé počítadlo alebo skóre.
- Údaj na dashboarde, ktorý sa obnovuje každých pár sekúnd.
Props
MotionNumber
| Prop | Typ | Predvolené | Popis |
|---|---|---|---|
value | number | bigint | string | —povinné | Číslo alebo číselný text, ktorý ste naformátovali. |
mode | 'replace' | 'roll' | 'replace' | replace posunie každý zmenený rád o jeden krok; roll prejde číslicami medzi nimi. |
direction | 'auto' | 'digit' | 'up' | 'down' | 'auto' | auto sleduje zmenu veľkosti, takže prenosy rolujú jedným smerom; digit porovnáva každý rád zvlášť. |
stagger | number | 45 | Milisekundy medzi zmenenými rádmi, od jednotiek von. Celá vlna je časovo obmedzená. |
format | (value) => string | Intl.NumberFormatOptions | Funkcia vracajúca text na zobrazenie, alebo voľby Intl.NumberFormat (s intl). | |
intl | boolean | false | Použiť vstavaný Intl.NumberFormat. Predvolene vypnuté, aby žiadne behové prostredie Intl nepotrebovalo. |
locale | string | string[] | Locale pre intl. | |
prefix | string | Text pred číslom. | |
suffix | string | Text za číslom. | |
transition | Transition | spring | Krivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť. |
onMotionComplete | (value) => void | Spustí sa s hodnotou, keď rády dosadnú. |
MotionText
| Prop | Typ | Predvolené | Popis |
|---|---|---|---|
children | ReactNode | Text na zobrazenie. | |
as | element | 'span' | Prvok, ktorý sa renderuje. |
transition | Transition | spring | Krivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť. |
onMotionComplete | (text) => void | Spustí sa, keď pohyb dosadne. |
Ostatné props idú do renderovaného prvku, takže className, style a obsluhy udalostí fungujú ako obvykle.
Web a React Native
Na webe je každý rád malým stĺpcom glyfov prehrávaným cez Web Animations API a text zostáva označiteľný. MotionText animuje akýkoľvek text: číselný text roluje po rádoch, ostatný sa vymení.
V React Native zostáva číslo skutočným Text pre rozloženie, označovanie aj prístupnosť, vrátane zalamovania a numberOfLines; glyfy sa pohybujú na natívnom driveri.
Použité v týchto príkladoch
- Súhrn pokladneMnožstvá, súčty riadkov aj celkový súčet rolujú so zmenami košíka; upozornenie na kupón prichádza a odchádza; platenie vyžaduje zámerné podržanie.
MotionListMotionNumberMotionPresenceMotionHold - Doručená poštaKarty filtrov so živými počtami, riadky, ktoré možno odsunúť potiahnutím, a zoznam, ktorý zacelí medzeru.
MotionHighlightMotionListMotionSwipeMotionNumber