כל הרכיבים

MotionHighlight

לשוניות, בקרים מפולחים או ניווט מנתונים, עם הדגשה אחת שנודדת לבחירה.

אינטרנטReact Nativeבחירה ודפדוף

נסו את זה

מכין את הדוגמה…

השימוש הקצר ביותר

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

מה הוא עושה בשבילכם

  • הדגשה אחת זזה ומשנה גודל בין פריטים; עצבו אותה עם highlightClassName.
  • פריטים מגיעים מ־items, מפתחות מ־getKey ותוויות מ־renderItem.
  • hover גורם לה לעקוב אחרי הסמן ולחזור לבחירה.
  • פריטים יכולים להישבר לכמה שורות וההדגשה עוקבת אחריהם.
  • טעינת גופנים ושינויי פריסה נמדדים מחדש אוטומטית.

מתאים ל־

  • לשוניות של עמוד.
  • סרגל מסננים.
  • בקר מפולח בטופס הגדרות.

Props

Propטיפוסברירת מחדלתיאור
itemsreadonly T[]—חובהמערך הנתונים שלכם.
valuekey | null—חובההמפתח של הפריט המודגש; null מסתיר את ההדגשה.
onValueChange(key, item) => voidרץ עם המפתח והפריט כשלוחצים על פריט.
getKey(item) => string | numberitem.idמחזיר מפתח ייחודי ויציב לפריט. ברירת המחדל היא item.id, או הפריט עצמו למחרוזות ולמספרים.
renderItem(item, { selected, index }) => ReactNodeitem.labelמצייר פריט; מקבל אם הוא נבחר.
hoverbooleanfalseלעקוב אחרי הסמן מעל הפריטים ולחזור ל־value ביציאה (אינטרנט).
itemAselement'button'האלמנט לכל פריט.
itemClassNamestringclass לאלמנט של כל פריט; itemStyle מגדיר את הסגנון המוטבע שלו.
highlightClassNamestringclass להדגשה; highlightStyle מגדיר את הסגנון המוטבע שלה.
transitionTransitionspringעקומת timing { duration, easing } או קפיץ { tempo: 'spring', spring }. קפיצים שומרים על התנופה שלהם כשמפריעים להם.

props אחרים עוברים לאלמנט המרונדר, כך ש־className, style ומטפלי אירועים עובדים כרגיל.

אינטרנט ו־React Native

כל פריט מרונדר כ־button כברירת מחדל (itemAs משנה את זה); לחיצה עליו קוראת ל־onValueChange(key, item).

ב־React Native הפריטים הם Pressable; המיקום רץ על ה־driver הנייטיב והגודל על view מקונן שמונע ב־JavaScript.

בשימוש בדוגמאות האלה

חיפוש

הקלידו כדי לחפש בתיעוד.