כל הרכיבים

MotionSwipe

שורה עם פעולות שנחשפות בהחלקה והסרה אופציונלית בהחלקה.

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

נסו את זה

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

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

Row.jsx
<MotionSwipe
  endActions={<button onClick={() => archive(id)}>Archive</button>}
  dismiss="end"
  onDismiss={() => remove(id)}
>
  <MessagePreview />
</MotionSwipe>;

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

  • השורה עוקבת אחרי גרירות אופקיות, מתנגדת מעבר לפעולות שלה ומתייצבת לפי מהירות השחרור.
  • עם dismiss, החלקה ארוכה או זריקה מחליקה את השורה החוצה, מקפלת את הגובה שלה ואז קוראת ל־onDismiss(side).
  • הגלילה האנכית ממשיכה לעבוד, ורק שורה אחת נשארת פתוחה.
  • הקשה על שורה פתוחה סוגרת אותה, ופוקוס מקלדת על פעולה חושף אותה.

מתאים ל־

  • העברה לארכיון או מחיקה בתיבת הדואר.
  • הצמדת שיחה.
  • הסרת פריט מרשימה.

Props

Propטיפוסברירת מחדלתיאור
childrenReactNodeתוכן השורה.
startActionsReactNodeנחשפות בתחילת השורה כשגוררים אותה לכיוון הסוף.
endActionsReactNodeנחשפות בסוף השורה כשגוררים אותה לכיוון ההתחלה.
dismiss'start' | 'end' | 'both'צדדים שבהם החלקה ארוכה או זריקה מסירה את השורה.
onDismiss(side) => voidרץ אחרי שהשורה החליקה החוצה והתקפלה; הסירו כאן את הפריט מהנתונים שלכם.
onOpenChange(side | null) => voidרץ עם הצד הפתוח, או null כשהשורה נסגרת.
disabledbooleanfalseמכבה את ההחלקה.
contentClassNamestringclass לתוכן השורה; contentStyle מגדיר את הסגנון המוטבע שלו.
transitionTransitionspringעקומת timing { duration, easing } או קפיץ { tempo: 'spring', spring }. קפיצים שומרים על התנופה שלהם כשמפריעים להם.

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

אינטרנט ו־React Native

startActions מופיעות בגרירה לכיוון סוף השורה, endActions בגרירה לכיוון ההתחלה. תנו לתוכן השורה רקע עם contentClassName.

React Native משתמש באותם props ובאותן מחוות.

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

חיפוש

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