Všetky komponenty

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

Total.jsx
<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,000 pretočí 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 funkciu format, prípadne zapnite intl.

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

PropTypPredvolenéPopis
valuenumber | 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ášť.
staggernumber45Milisekundy medzi zmenenými rádmi, od jednotiek von. Celá vlna je časovo obmedzená.
format(value) => string | Intl.NumberFormatOptionsFunkcia vracajúca text na zobrazenie, alebo voľby Intl.NumberFormat (s intl).
intlbooleanfalsePoužiť vstavaný Intl.NumberFormat. Predvolene vypnuté, aby žiadne behové prostredie Intl nepotrebovalo.
localestring | string[]Locale pre intl.
prefixstringText pred číslom.
suffixstringText za číslom.
transitionTransitionspringKrivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť.
onMotionComplete(value) => voidSpustí sa s hodnotou, keď rády dosadnú.

MotionText

PropTypPredvolenéPopis
childrenReactNodeText na zobrazenie.
aselement'span'Prvok, ktorý sa renderuje.
transitionTransitionspringKrivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť.
onMotionComplete(text) => voidSpustí 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

Hľadať

Píšte a hľadajte v dokumentácii.