كل المكوّنات

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يعطّل السحب.
contentClassNamestringصنف محتوى الصف؛ ويضبط contentStyle نمطه المضمّن.
transitionTransitionspringمنحنى توقيت { duration, easing } أو نابض { tempo: 'spring', spring }. تحتفظ النوابض بزخمها عند المقاطعة.

تذهب props الأخرى إلى العنصر المعروض، فتعمل className وstyle ومعالجات الأحداث كالمعتاد.

الويب وReact Native

تظهر startActions عند السحب نحو نهاية السطر، وendActions عند السحب نحو بدايته. أعطِ محتوى الصف خلفية عبر contentClassName.

يستخدم React Native props والإيماءات نفسها.

مستخدم في هذه الأمثلة

بحث

اكتب للبحث في التوثيق.