Všetky komponenty

MotionPager

Stránky z údajov na listovanie potiahnutím: onboarding, karusely a panely kariet.

WebReact NativeVýber a stránky

Vyskúšajte

Príprava príkladu…

Najkratšie použitie

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

Čo za vás vyrieši

  • Stránky sledujú potiahnutia aj ťahanie myšou, za okrajmi kladú odpor a usadia sa podľa rýchlosti pustenia.
  • Rýchle švihnutie vždy otočí stránku a jedno gesto nikdy neotočí viac ako jednu.
  • Vodorovné posúvanie touchpadom tiež otáča stránky a jeho zotrvačný dobeh sa ignoruje.
  • Šípky, Home a End fungujú, keď má pager fokus, a zvislé posúvanie ďalej funguje.
  • Stránky iné ako aktívna sú neaktívne.

Použite na

  • Onboarding.
  • Karusel fotiek.
  • Panely kariet na listovanie potiahnutím spárované s MotionHighlight.

Props

PropTypPredvolenéPopis
itemsreadonly T[]—povinnéVaše pole údajov.
indexnumberZobrazená stránka. Vynechajte ju a pager si bude vlastnú stránku držať sám.
defaultIndexnumber0Počiatočná stránka, keď index nie je riadený.
onIndexChange(index, item) => voidSpustí sa s indexom a položkou, len čo sa potiahnutie, kláves alebo gesto kolieska usadí.
getKey(item) => string | numberitem.idVracia jedinečný stabilný kľúč položky. Predvolene item.id, pri reťazcoch a číslach samotnú položku.
renderItem(item, { index, active }) => ReactNodeitem.labelVykreslí stránku; dostane jej index a to, či je aktívna.
gapnumber0Medzera medzi stránkami v pixeloch.
itemClassNamestringTrieda pre prvok každej položky; itemStyle nastaví jeho inline štýl.
transitionTransitionspringKrivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť.

Ostatné props idú do renderovaného prvku, takže className, style a obsluhy udalostí fungujú ako obvykle.

Web a React Native

index môže byť riadený (onIndexChange(index, item) hlási každé usadenie) alebo ho možno prenechať pageru cez defaultIndex.

Rovnaký komponent aj props fungujú v React Native.

Použité v týchto príkladoch

Hľadať

Píšte a hľadajte v dokumentácii.