כל הרכיבים
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 | טיפוס | ברירת מחדל | תיאור |
|---|
items | readonly T[] | | הפריטים, כשאתם שולטים בסדר. |
|---|
defaultItems | readonly T[] | [] | פריטי התחלה, כשהרכיב מחזיק את הסדר. |
|---|
onItemsChange | (items, { reason, key }) => void | | רץ עם הסדר החדש והאם הגיע מגרירה, משחרור או מהמקלדת. |
|---|
getKey | (item) => string | number | item | מחזיר מפתח ייחודי לפריט. ברירת המחדל היא הפריט עצמו. |
|---|
renderItem | (item, { index, dragging }) => ReactNode | item.label | מצייר פריט; מקבל את האינדקס שלו ואם גוררים אותו. |
|---|
reorder | 'live' | 'drop' | 'live' | live מזיז פריטים אחרים בזמן גרירה; drop ממתין לשחרור. |
|---|
layout | 'list' | 'grid' | 'grid' | list או grid. |
|---|
columns | number | 3 | עמודות ברשת. |
|---|
gap | number | 12 | מרווח בין פריטים בפיקסלים. |
|---|
disabled | boolean | false | מכבה את הגרירה. |
|---|
duration | number | 260 | מילישניות לפריטים שמפנים מקום. |
|---|
itemClassName | string | | class לאלמנט של כל פריט; itemStyle מגדיר את הסגנון המוטבע שלו. |
|---|
props אחרים עוברים לאלמנט המרונדר, כך ש־className, style ומטפלי אירועים עובדים כרגיל.