كل المكوّنات

MotionPager

صفحات قابلة للسحب من البيانات: التعريف بالتطبيق والدوّارات ولوحات التبويب.

الويبReact Nativeالاختيار والصفحات

جرّبه

جارٍ تجهيز المثال…

أقصر استخدام

Onboarding.jsx
<MotionPager
  items={slides}
  index={page}
  onIndexChange={setPage}
  gap={16}
  renderItem={(slide) => <Slide slide={slide} />}
/>;

ما يتولّاه عنك

  • تتبع الصفحات السحب باللمس والفأرة، وتقاوم بعد الطرفين، وتستقر وفق سرعة إفلاتك.
  • النقرة السريعة تقلب صفحة دائمًا، ولا تقلب الإيماءة الواحدة أكثر من صفحة.
  • التمرير الأفقي بلوحة اللمس يقلب الصفحات أيضًا، ويُتجاهل ذيل زخمه.
  • تعمل مفاتيح الأسهم وHome وEnd حين يكون مقلّب الصفحات في التركيز، ويستمر التمرير العمودي في العمل.
  • الصفحات غير النشطة خاملة.

استخدمه لـ

  • مسار تعريف بالتطبيق.
  • دوّار صور.
  • لوحات تبويب قابلة للسحب مقرونة بـ MotionHighlight.

Props

Propالنوعالافتراضيالوصف
itemsreadonly T[]—إلزاميمصفوفة بياناتك.
indexnumberالصفحة المعروضة. اتركها ليحتفظ مقلّب الصفحات بصفحته.
defaultIndexnumber0الصفحة الأولى حين لا يكون index متحكَّمًا به.
onIndexChange(index, item) => voidيعمل مع الفهرس والعنصر بمجرد أن تستقر سحبة أو مفتاح أو إيماءة عجلة.
getKey(item) => string | numberitem.idتعيد مفتاحًا فريدًا ثابتًا لعنصر. افتراضيًا item.id، أو العنصر نفسه للنصوص والأرقام.
renderItem(item, { index, active }) => ReactNodeitem.labelيرسم صفحة؛ ويتلقى فهرسها وما إذا كانت نشطة.
gapnumber0المسافة بين الصفحات بالبكسل.
itemClassNamestringصنف لعنصر كل بند؛ ويضبط itemStyle نمطه المضمّن.
transitionTransitionspringمنحنى توقيت { duration, easing } أو نابض { tempo: 'spring', spring }. تحتفظ النوابض بزخمها عند المقاطعة.

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

الويب وReact Native

يمكن التحكم في index (ويُبلغ onIndexChange(index, item) عن كل استقرار) أو تركه لمقلّب الصفحات عبر defaultIndex.

يعمل المكوّن نفسه وprops نفسها في React Native.

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

بحث

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