MotionNumber · MotionText
Basamakları tekerlek gibi dönen bir sayı; beliren ya da kaybolan basamaklar dahil.
WebReact NativeSayılar ve metin
Deneyin
Örnek hazırlanıyor…
En kısa kullanım
<MotionNumber value={count} />
<MotionNumber value={total} mode="roll" intl locale="en-US"
format={{ style: 'currency', currency: 'USD' }} />
<MotionText>{status}</MotionText>Sizin yerinize hallettikleri
- Eldeler:
999 → 1,000değişen her basamağı bir kilometre sayacı gibi aynı yönde döndürür. - Beliren ya da kaybolan basamaklar aniden çıkmak yerine kendi sütunlarına dönerek girer ya da çıkar.
- Ayırıcılar, işaretler ve para birimi simgeleri ait oldukları basamakla birlikte belirir ve solar.
- Kalan basamaklar dönerken yeni konumlarına kayar; sayı asla bölünmez.
- Hareketin ortasındaki yeni bir değer tam olarak ekranda olandan devam eder.
- Biçimlendirme asla
Intlgerektirmez: metin ya da birformatfonksiyonu verin ya daintlile açın.
Şunlar için kullanın
- Ürün eklendikçe değişen bir sepet toplamı.
- Canlı bir sayaç ya da skor.
- Birkaç saniyede bir yenilenen bir pano rakamı.
Props
MotionNumber
| Prop | Tip | Varsayılan | Açıklama |
|---|---|---|---|
value | number | bigint | string | —zorunlu | Sayı ya da çağıranın biçimlendirdiği sayısal metin. |
mode | 'replace' | 'roll' | 'replace' | replace değişen her basamağı bir adım taşır; roll aradaki rakamlardan geçer. |
direction | 'auto' | 'digit' | 'up' | 'down' | 'auto' | auto boyuttaki değişikliği izler, eldeler tek yönde döner; digit her basamağı kendi içinde karşılaştırır. |
stagger | number | 45 | Değişen basamaklar arasındaki milisaniye, birler basamağından dışa doğru. Dalganın tamamı sınırlıdır. |
format | (value) => string | Intl.NumberFormatOptions | Gösterilecek metni döndüren bir fonksiyon ya da Intl.NumberFormat seçenekleri (intl ile). | |
intl | boolean | false | Yerleşik Intl.NumberFormat'ı kullanır. Hiçbir çalışma zamanının Intl gerektirmemesi için varsayılan olarak kapalıdır. |
locale | string | string[] | intl için yerel ayar. | |
prefix | string | Sayıdan önceki metin. | |
suffix | string | Sayıdan sonraki metin. | |
transition | Transition | spring | Bir timing eğrisi { duration, easing } ya da bir yay { tempo: 'spring', spring }. Yaylar kesildiğinde momentumlarını korur. |
onMotionComplete | (value) => void | Basamaklar yerleşince değerle çalışır. |
MotionText
| Prop | Tip | Varsayılan | Açıklama |
|---|---|---|---|
children | ReactNode | Gösterilecek metin. | |
as | element | 'span' | Render edilecek öğe. |
transition | Transition | spring | Bir timing eğrisi { duration, easing } ya da bir yay { tempo: 'spring', spring }. Yaylar kesildiğinde momentumlarını korur. |
onMotionComplete | (text) => void | Hareket yerleşince çalışır. |
Diğer props render edilen öğeye gider; böylece className, style ve olay işleyiciler her zamanki gibi çalışır.
Web ve React Native
Web'de her basamak, Web Animations API'nin oynattığı küçük bir glif yığınıdır ve metin seçilebilir kalır. MotionText her metni canlandırır: sayısal metin basamak basamak döner, diğer metin değiş tokuş edilir.
React Native'de sayı, düzen, seçim ve erişilebilirlik için gerçek bir Text olarak kalır; satır kaydırma ve numberOfLines dahil. Glifler native driver ile hareket eder.
Bu örneklerde kullanıldı
- Ödeme özetiSepet değiştikçe adetler, satır toplamları ve genel toplam döner; kupon bildirimi girip çıkar; ödeme bilinçli bir basılı tutma gerektirir.
MotionListMotionNumberMotionPresenceMotionHold - Gelen kutusuCanlı sayılı filtre sekmeleri, kaydırarak atılabilen satırlar ve boşluğu kapatan bir liste.
MotionHighlightMotionListMotionSwipeMotionNumber