Összes komponens

MotionNumber · MotionText

Szám, amelynek helyiértékei kerékként pörögnek, a megjelenő és eltűnő helyiértékeket is beleértve.

WebReact NativeSzámok és szöveg

Próbálja ki

A példa előkészítése…

A legrövidebb használat

Total.jsx
<MotionNumber value={count} />
<MotionNumber value={total} mode="roll" intl locale="en-US"
  format={{ style: 'currency', currency: 'USD' }} />
<MotionText>{status}</MotionText>

Amit Ön helyett elintéz

  • Átvitelek: a 999 → 1,000 minden megváltozott helyiértéket ugyanabba az irányba pörget, mint egy kilométer-számláló.
  • A megjelenő vagy eltűnő helyiértékek a saját oszlopukba pörögnek be vagy onnan ki, ahelyett hogy hirtelen felbukkannának.
  • Az elválasztók, előjelek és pénznemjelek a hozzájuk tartozó helyiértékkel együtt úsznak be és halványulnak el.
  • A maradó helyiértékek pörgés közben az új helyükre csúsznak, így a szám soha nem esik szét.
  • Egy mozgás közepén érkező új érték pontosan onnan folytatja, ami a képernyőn van.
  • A formázáshoz soha nem kell Intl: adjon át szöveget vagy format függvényt, vagy kapcsolja be az intl beállítással.

Mire használja

  • Kosár-végösszeg, amely termékek hozzáadásakor változik.
  • Élő számláló vagy pontszám.
  • Néhány másodpercenként frissülő irányítópult-adat.

Props

MotionNumber

PropTípusAlapértékLeírás
valuenumber | bigint | string—kötelezőA szám, vagy a hívó által formázott numerikus szöveg.
mode'replace' | 'roll''replace'A replace minden megváltozott helyiértéket egy lépéssel mozgat; a roll végigmegy a köztes számjegyeken.
direction'auto' | 'digit' | 'up' | 'down''auto'Az auto a nagyságrend változását követi, így az átvitelek egy irányba pörögnek; a digit minden helyiértéket külön hasonlít össze.
staggernumber45Ezredmásodperc a megváltozott helyiértékek között, az egyesektől kifelé. A teljes hullám korlátozott.
format(value) => string | Intl.NumberFormatOptionsA megjelenítendő szöveget visszaadó függvény, vagy Intl.NumberFormat beállítások (intl mellett).
intlbooleanfalseA beépített Intl.NumberFormat használata. Alapértelmezés szerint ki van kapcsolva, így egyetlen futtatókörnyezetnek sincs szüksége Intl-re.
localestring | string[]Területi beállítás az intl számára.
prefixstringSzöveg a szám előtt.
suffixstringSzöveg a szám után.
transitionTransitionspringTiming-görbe { duration, easing } vagy rugó { tempo: 'spring', spring }. A rugók megszakításkor megtartják a lendületüket.
onMotionComplete(value) => voidAz értékkel fut le, amikor a helyiértékek megálltak.

MotionText

PropTípusAlapértékLeírás
childrenReactNodeA megjelenítendő szöveg.
aselement'span'A renderelendő elem.
transitionTransitionspringTiming-görbe { duration, easing } vagy rugó { tempo: 'spring', spring }. A rugók megszakításkor megtartják a lendületüket.
onMotionComplete(text) => voidAkkor fut le, amikor a mozgás megáll.

A többi props a renderelt elemre kerül, így a className, a style és az eseménykezelők a szokásos módon működnek.

Web és React Native

Weben minden helyiérték egy kis karakterkupac, amelyet a Web Animations API játszik le, a szöveg pedig kijelölhető marad. A MotionText bármilyen szöveget animál: a numerikus szöveg helyiértékenként pörög, a többi szöveg cserélődik.

React Native alatt a szám valódi Text marad az elrendezéshez, a kijelöléshez és az akadálymentességhez, a tördelést és a numberOfLines-t is beleértve; a karakterek a natív driveren mozognak.

Ezekben a példákban használva

Keresés

Gépeljen a dokumentációban való kereséshez.