Všetky komponenty

MotionList

Zoznam z údajov, ktorý animuje len to, čo sa zmenilo.

WebReact NativeZoznamy

Vyskúšajte

Príprava príkladu…

Najkratšie použitie

Todos.jsx
<MotionList as="ul" items={todos} renderItem={(todo) => <TodoRow todo={todo} />} />;

Čo za vás vyrieši

  • Nové položky prichádzajú s obmedzenou kaskádou, zatiaľ čo nedotknuté stoja.
  • Odobraté položky opustia tok a animovane odídu na svojom mieste, zatiaľ čo ostatné zaplnia medzeru.
  • Preradené položky kĺžu na nové miesta.
  • Presuny prerušené inou zmenou si zachovajú rýchlosť.
  • present={false} animuje odchod všetkých položiek a playKey znova prehrá príchod.

Použite na

  • Zoznam úloh.
  • Filtrované výsledky hľadania.
  • Nákupný košík.

Props

PropTypPredvolenéPopis
itemsreadonly T[]—povinnéVaše pole údajov.
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) => ReactNodeitem.labelVykreslí položku.
aselement'div'Prvok, ktorý sa renderuje.
itemAselement'li' | 'div'Prvok pre každú položku.
itemClassNamestringTrieda pre prvok každej položky; itemStyle nastaví jeho inline štýl.
effect'rise' | 'fade' | 'scale' | 'slide''rise'Ako položky prichádzajú a odchádzajú.
distancenumber16Dráha rise a slide v pixeloch.
staggernumber40Milisekundy medzi prichádzajúcimi položkami.
order'forward' | 'reverse''forward'Smer kaskády.
presentbooleantruefalse animuje odchod všetkých položiek a zachová rozloženie; true ich vráti.
initialbooleantruePrehrať príchod pri pripojení zoznamu.
playKeystring | numberJeho zmena znova prehrá príchod.
transitionTransitionspringPrechod pre prichádzajúce a odchádzajúce položky.
layoutTransitionTransitionspringPrechod pre položky kĺžuce na nové miesta.

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

Web a React Native

Každá položka dostane obaľovací prvok (li vnútri ul alebo ol, inak div; itemAs to zmení) štýlovaný cez itemClassName.

Kľúče musia byť jedinečné. Obaľte zoznam do MotionHeight, aby sa animovala aj jeho celková výška.

Použité v týchto príkladoch

Hľadať

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