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

MotionHighlight

แท็บ ตัวควบคุมแบบแบ่งส่วน หรือการนำทางจากข้อมูล พร้อมไฮไลต์หนึ่งตัวที่เคลื่อนไปยังสิ่งที่เลือก

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

ลองดู

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

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

Tabs.jsx
<MotionHighlight
  items={['Overview', 'Activity', 'Settings']}
  value={tab}
  onValueChange={setTab}
  hover
/>;

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

  • ไฮไลต์หนึ่งตัวเคลื่อนและเปลี่ยนขนาดระหว่างรายการ ปรับสไตล์ด้วย highlightClassName
  • รายการมาจาก items key มาจาก getKey และป้ายชื่อมาจาก renderItem
  • hover ทำให้มันตามตัวชี้และกลับไปที่สิ่งที่เลือก
  • รายการขึ้นบรรทัดใหม่ได้หลายแถวและไฮไลต์จะตามไป
  • การโหลดฟอนต์และการเปลี่ยนเลย์เอาต์จะถูกวัดใหม่อัตโนมัติ

ใช้สำหรับ

  • แท็บของหน้า
  • แถบตัวกรอง
  • ตัวควบคุมแบบแบ่งส่วนในฟอร์มการตั้งค่า

Props

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

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

เว็บและ React Native

แต่ละรายการเรนเดอร์เป็น button โดยค่าเริ่มต้น (itemAs เปลี่ยนได้) การกดจะเรียก onValueChange(key, item)

บน React Native รายการเป็น Pressable ตำแหน่งทำงานด้วย native driver ส่วนขนาดอยู่บนวิวซ้อนที่ JavaScript ขับ

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

ค้นหา

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