MotionNumber · MotionText
Broj čija se mjesta vrte poput kotačića, uključujući mjesta koja se pojavljuju ili nestaju.
WebReact NativeBrojevi i tekst
Isprobajte
Priprema primjera…
Najkraća upotreba
<MotionNumber value={count} />
<MotionNumber value={total} mode="roll" intl locale="en-US"
format={{ style: 'currency', currency: 'USD' }} />
<MotionText>{status}</MotionText>Što obavlja umjesto vas
- Prijenosi:
999 → 1,000vrti svako promijenjeno mjesto u istom smjeru, poput brojača kilometara. - Mjesta koja se pojavljuju ili nestaju uvrću se ili izvrću u vlastitom stupcu umjesto da iskoče.
- Razdjelnici, predznaci i simboli valuta pojavljuju se i nestaju s mjestom kojem pripadaju.
- Preostala mjesta klize na nove položaje dok se vrte, pa se broj nikad ne raspada.
- Nova vrijednost usred pokreta nastavlja točno od onoga što je na zaslonu.
- Oblikovanje nikad ne zahtijeva
Intl: predajte tekst ili funkcijuformatili uključiteintl.
Koristite je za
- Zbroj košarice koji se mijenja dok se dodaju artikli.
- Brojač ili rezultat uživo.
- Podatak na nadzornoj ploči koji se osvježava svakih nekoliko sekundi.
Props
MotionNumber
| Prop | Tip | Zadano | Opis |
|---|---|---|---|
value | number | bigint | string | —obavezno | Broj ili brojčani tekst koji ste sami oblikovali. |
mode | 'replace' | 'roll' | 'replace' | replace pomiče svako promijenjeno mjesto za jedan korak; roll prolazi kroz znamenke između. |
direction | 'auto' | 'digit' | 'up' | 'down' | 'auto' | auto prati promjenu veličine, pa se prijenosi vrte u jednom smjeru; digit uspoređuje svako mjesto zasebno. |
stagger | number | 45 | Milisekunde između promijenjenih mjesta, od jedinica prema van. Cijeli val je vremenski ograničen. |
format | (value) => string | Intl.NumberFormatOptions | Funkcija koja vraća tekst za prikaz ili opcije Intl.NumberFormat (uz intl). | |
intl | boolean | false | Koristi ugrađeni Intl.NumberFormat. Prema zadanom isključeno, kako nijedno okruženje ne bi trebalo Intl. |
locale | string | string[] | Lokalizacija za intl. | |
prefix | string | Tekst prije broja. | |
suffix | string | Tekst nakon broja. | |
transition | Transition | spring | Krivulja timinga { duration, easing } ili opruga { tempo: 'spring', spring }. Opruge pri prekidu zadržavaju zamah. |
onMotionComplete | (value) => void | Izvodi se s vrijednošću kad se mjesta smire. |
MotionText
| Prop | Tip | Zadano | Opis |
|---|---|---|---|
children | ReactNode | Tekst za prikaz. | |
as | element | 'span' | Element koji se renderira. |
transition | Transition | spring | Krivulja timinga { duration, easing } ili opruga { tempo: 'spring', spring }. Opruge pri prekidu zadržavaju zamah. |
onMotionComplete | (text) => void | Izvodi se kad se pokret smiri. |
Ostali props idu renderiranom elementu, pa className, style i rukovatelji događaja rade kao i obično.
Web i React Native
Na webu je svako mjesto mali stupac glifova koji reproducira Web Animations API, a tekst ostaje označiv. MotionText animira bilo koji tekst: brojčani tekst vrti se po mjestima, ostali se zamjenjuje.
U React Nativeu broj ostaje pravi Text za raspored, označavanje i pristupačnost, uključujući prelamanje i numberOfLines; glifovi se kreću na nativnom driveru.
Korišteno u ovim primjerima
- Sažetak blagajneKoličine, zbrojevi redaka i ukupni iznos vrte se dok se košarica mijenja; obavijest o kuponu ulazi i odlazi; plaćanje traži namjerno držanje.
MotionListMotionNumberMotionPresenceMotionHold - Pristigla poštaKartice filtara s brojevima uživo, retci koji se mogu odbaciti povlačenjem i popis koji zatvara prazninu.
MotionHighlightMotionListMotionSwipeMotionNumber