כל הרכיבים

MotionReorder

גררו כדי לסדר מחדש רשימה או רשת, עם תמיכה במקלדת.

אינטרנטReact Nativeרשימות

נסו את זה

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

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

Playlist.jsx
<MotionReorder
  items={tracks}
  onItemsChange={setTracks}
  layout="list"
  renderItem={(track) => track.title}
/>;

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

  • פריטים אחרים מפנים מקום בזמן שגוררים (reorder="live") או כשמשחררים (reorder="drop").
  • פריסות רשימה ורשת עם columns ו־gap.
  • תזוזות מקלדת באינטרנט ופעולות נגישות ב־React Native.
  • מבוקר עם items ו־onItemsChange, או לא מבוקר עם defaultItems.

מתאים ל־

  • פלייליסט.
  • backlog לפי עדיפות.
  • רשת תמונות.

Props

Propטיפוסברירת מחדלתיאור
itemsreadonly T[]הפריטים, כשאתם שולטים בסדר.
defaultItemsreadonly T[][]פריטי התחלה, כשהרכיב מחזיק את הסדר.
onItemsChange(items, { reason, key }) => voidרץ עם הסדר החדש והאם הגיע מגרירה, משחרור או מהמקלדת.
getKey(item) => string | numberitemמחזיר מפתח ייחודי לפריט. ברירת המחדל היא הפריט עצמו.
renderItem(item, { index, dragging }) => ReactNodeitem.labelמצייר פריט; מקבל את האינדקס שלו ואם גוררים אותו.
reorder'live' | 'drop''live'live מזיז פריטים אחרים בזמן גרירה; drop ממתין לשחרור.
layout'list' | 'grid''grid'list או grid.
columnsnumber3עמודות ברשת.
gapnumber12מרווח בין פריטים בפיקסלים.
disabledbooleanfalseמכבה את הגרירה.
durationnumber260מילישניות לפריטים שמפנים מקום.
itemClassNamestringclass לאלמנט של כל פריט; itemStyle מגדיר את הסגנון המוטבע שלו.

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

אינטרנט ו־React Native

onItemsChange(items, { reason }) אומר אם השינוי הגיע מגרירה, משחרור או מהמקלדת.

ב־React Native חלים אותם props, והסידור מחדש מוצע גם כפעולות נגישות.

חיפוש

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