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

MotionPager

หน้าที่ปัดได้จากข้อมูล: ออนบอร์ดดิง แครูเซล และแผงแท็บ

เว็บReact Nativeการเลือกและการแบ่งหน้า

ลองดู

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

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

Onboarding.jsx
<MotionPager
  items={slides}
  index={page}
  onIndexChange={setPage}
  gap={16}
  renderItem={(slide) => <Slide slide={slide} />}
/>;

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

  • หน้าตามการปัดและการลากเมาส์ มีแรงต้านเมื่อเลยปลายทั้งสองด้าน และหยุดตามความเร็วที่คุณปล่อย
  • การสะบัดพลิกหน้าเสมอ และท่าทางเดียวไม่เคยพลิกเกินหนึ่งหน้า
  • การเลื่อนแนวนอนบนแทร็กแพดก็พลิกหน้าได้ และส่วนหางของโมเมนตัมจะถูกเพิกเฉย
  • ปุ่มลูกศร Home และ End ทำงานเมื่อเพจเจอร์ได้รับโฟกัส และการเลื่อนแนวตั้งยังใช้ได้
  • หน้าที่ไม่ได้ใช้งานอยู่จะไม่ตอบสนอง

ใช้สำหรับ

  • ขั้นตอนออนบอร์ดดิง
  • แครูเซลรูปภาพ
  • แผงแท็บที่ปัดได้ จับคู่กับ MotionHighlight

Props

Propชนิดค่าเริ่มต้นคำอธิบาย
itemsreadonly T[]—จำเป็นอาร์เรย์ข้อมูลของคุณ
indexnumberหน้าที่แสดง เว้นไว้เพื่อให้เพจเจอร์จัดการเอง
defaultIndexnumber0หน้าเริ่มต้นเมื่อ index ไม่ได้ถูกควบคุม
onIndexChange(index, item) => voidทำงานพร้อม index และรายการทันทีที่การปัด ปุ่ม หรือท่าทางล้อเลื่อนหยุด
getKey(item) => string | numberitem.idคืน key ที่ไม่ซ้ำและคงที่ของรายการ ค่าเริ่มต้นคือ item.id หรือตัวรายการเองสำหรับสตริงและตัวเลข
renderItem(item, { index, active }) => ReactNodeitem.labelวาดหน้า ได้รับ index ของมันและสถานะว่าใช้งานอยู่หรือไม่
gapnumber0ระยะห่างระหว่างหน้าเป็นพิกเซล
itemClassNamestringคลาสของแต่ละองค์ประกอบรายการ itemStyle กำหนดสไตล์ inline ของมัน
transitionTransitionspringเส้นโค้ง timing { duration, easing } หรือสปริง { tempo: 'spring', spring } สปริงรักษาโมเมนตัมไว้เมื่อถูกขัดจังหวะ

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

เว็บและ React Native

index ควบคุมได้ (onIndexChange(index, item) รายงานทุกครั้งที่หยุด) หรือปล่อยให้เพจเจอร์จัดการด้วย defaultIndex

คอมโพเนนต์และ props เดียวกันใช้ได้บน React Native

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

ค้นหา

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