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
<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,000minden 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 vagyformatfüggvényt, vagy kapcsolja be azintlbeá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
| Prop | Típus | Alapérték | Leírás |
|---|---|---|---|
value | number | 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. |
stagger | number | 45 | Ezredmásodperc a megváltozott helyiértékek között, az egyesektől kifelé. A teljes hullám korlátozott. |
format | (value) => string | Intl.NumberFormatOptions | A megjelenítendő szöveget visszaadó függvény, vagy Intl.NumberFormat beállítások (intl mellett). | |
intl | boolean | false | A 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. |
locale | string | string[] | Területi beállítás az intl számára. | |
prefix | string | Szöveg a szám előtt. | |
suffix | string | Szöveg a szám után. | |
transition | Transition | spring | Timing-görbe { duration, easing } vagy rugó { tempo: 'spring', spring }. A rugók megszakításkor megtartják a lendületüket. |
onMotionComplete | (value) => void | Az értékkel fut le, amikor a helyiértékek megálltak. |
MotionText
| Prop | Típus | Alapérték | Leírás |
|---|---|---|---|
children | ReactNode | A megjelenítendő szöveg. | |
as | element | 'span' | A renderelendő elem. |
transition | Transition | spring | Timing-görbe { duration, easing } vagy rugó { tempo: 'spring', spring }. A rugók megszakításkor megtartják a lendületüket. |
onMotionComplete | (text) => void | Akkor 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
- Fizetési összesítőA mennyiségek, a sorösszegek és a végösszeg pörögnek, ahogy a kosár változik; a kuponértesítés be- és kilép; a fizetéshez szándékos lenyomva tartás kell.
MotionListMotionNumberMotionPresenceMotionHold - Beérkezett üzenetekSzűrőfülek élő számokkal, elcsúsztatható sorok és a rést bezáró lista.
MotionHighlightMotionListMotionSwipeMotionNumber