คอมโพเนนต์ทั้งหมด

MotionNumber · MotionText

ตัวเลขที่แต่ละหลักหมุนเหมือนวงล้อ รวมถึงหลักที่ปรากฏหรือหายไป

เว็บReact Nativeตัวเลขและข้อความ

ลองดู

กำลังเตรียมตัวอย่าง…

การใช้งานที่สั้นที่สุด

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

สิ่งที่มันจัดการให้คุณ

  • การทด: 999 → 1,000 หมุนทุกหลักที่เปลี่ยนไปทางเดียวกัน เหมือนมาตรวัดระยะทาง
  • หลักที่ปรากฏหรือหายไปจะหมุนเข้าหรือออกจากคอลัมน์ของตัวเอง แทนที่จะโผล่ขึ้นมาทันที
  • ตัวคั่น เครื่องหมาย และสัญลักษณ์สกุลเงินจะค่อย ๆ ปรากฏและจางไปพร้อมกับหลักที่มันสังกัด
  • หลักที่เหลือเลื่อนไปยังตำแหน่งใหม่ขณะหมุน ตัวเลขจึงไม่เคยแตกออก
  • ค่าใหม่กลางการเคลื่อนไหวทำต่อจากสิ่งที่อยู่บนหน้าจอพอดี
  • การจัดรูปแบบไม่เคยต้องใช้ Intl: ส่งข้อความหรือฟังก์ชัน format หรือเลือกเปิดด้วย intl

ใช้สำหรับ

  • ยอดรวมตะกร้าที่เปลี่ยนเมื่อเพิ่มสินค้า
  • ตัวนับหรือคะแนนแบบสด
  • ตัวเลขบนแดชบอร์ดที่รีเฟรชทุกไม่กี่วินาที

Props

MotionNumber

Propชนิดค่าเริ่มต้นคำอธิบาย
valuenumber | bigint | string—จำเป็นตัวเลข หรือข้อความตัวเลขที่ผู้เรียกจัดรูปแบบแล้ว
mode'replace' | 'roll''replace'replace เลื่อนแต่ละหลักที่เปลี่ยนหนึ่งขั้น roll ผ่านตัวเลขระหว่างกลาง
direction'auto' | 'digit' | 'up' | 'down''auto'auto ตามการเปลี่ยนขนาดเพื่อให้การทดหมุนไปทางเดียว digit เทียบแต่ละหลักแยกกัน
staggernumber45มิลลิวินาทีระหว่างหลักที่เปลี่ยน จากหลักหน่วยออกไป คลื่นทั้งหมดถูกจำกัดเวลา
format(value) => string | Intl.NumberFormatOptionsฟังก์ชันที่คืนข้อความที่จะแสดง หรือตัวเลือกของ Intl.NumberFormat (เมื่อใช้ intl)
intlbooleanfalseใช้ Intl.NumberFormat ในตัว ปิดไว้โดยค่าเริ่มต้นเพื่อไม่ให้รันไทม์ใดต้องมี Intl
localestring | string[]โลแคลสำหรับ intl
prefixstringข้อความก่อนตัวเลข
suffixstringข้อความหลังตัวเลข
transitionTransitionspringเส้นโค้ง timing { duration, easing } หรือสปริง { tempo: 'spring', spring } สปริงรักษาโมเมนตัมไว้เมื่อถูกขัดจังหวะ
onMotionComplete(value) => voidทำงานพร้อมค่าเมื่อหลักทั้งหมดหยุดนิ่ง

MotionText

Propชนิดค่าเริ่มต้นคำอธิบาย
childrenReactNodeข้อความที่จะแสดง
aselement'span'องค์ประกอบที่จะเรนเดอร์
transitionTransitionspringเส้นโค้ง timing { duration, easing } หรือสปริง { tempo: 'spring', spring } สปริงรักษาโมเมนตัมไว้เมื่อถูกขัดจังหวะ
onMotionComplete(text) => voidทำงานเมื่อการเคลื่อนไหวหยุดนิ่ง

props อื่นจะส่งต่อไปยังองค์ประกอบที่เรนเดอร์ className, style และตัวจัดการเหตุการณ์จึงทำงานตามปกติ

เว็บและ React Native

บนเว็บ แต่ละหลักคือกองกลีฟเล็ก ๆ ที่เล่นด้วย Web Animations API และข้อความยังเลือกได้ MotionText ทำให้ข้อความใดก็เคลื่อนไหวได้ ข้อความตัวเลขหมุนทีละหลัก ข้อความอื่นจะสลับ

บน React Native ตัวเลขยังเป็น Text จริงเพื่อเลย์เอาต์ การเลือก และการเข้าถึง รวมถึงการตัดบรรทัดและ numberOfLines ส่วนกลีฟเคลื่อนที่ด้วย native driver

ใช้ในตัวอย่างเหล่านี้

ค้นหา

พิมพ์เพื่อค้นหาเอกสาร