كل المكوّنات
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 | النوع | الافتراضي | الوصف |
|---|
children | ReactNode | | محتوى الصف. |
|---|
startActions | ReactNode | | تظهر في بداية السطر حين يُسحب الصف نحو النهاية. |
|---|
endActions | ReactNode | | تظهر في نهاية السطر حين يُسحب الصف نحو البداية. |
|---|
dismiss | 'start' | 'end' | 'both' | | الجوانب التي يزيل فيها السحب الطويل أو الرمية الصف. |
|---|
onDismiss | (side) => void | | يعمل بعد انزلاق الصف خارجًا وطيّه؛ أزل العنصر من بياناتك هنا. |
|---|
onOpenChange | (side | null) => void | | يعمل مع الجانب المفتوح، أو null حين يُغلق الصف. |
|---|
disabled | boolean | false | يعطّل السحب. |
|---|
contentClassName | string | | صنف محتوى الصف؛ ويضبط contentStyle نمطه المضمّن. |
|---|
transition | Transition | spring | منحنى توقيت { duration, easing } أو نابض { tempo: 'spring', spring }. تحتفظ النوابض بزخمها عند المقاطعة. |
|---|
تذهب props الأخرى إلى العنصر المعروض، فتعمل className وstyle ومعالجات الأحداث كالمعتاد.