Όλα τα components

MotionList

Μια λίστα από δεδομένα που κινεί μόνο ό,τι άλλαξε.

WebReact NativeΛίστες

Δοκιμάστε το

Προετοιμασία παραδείγματος…

Η πιο σύντομη χρήση

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

Τι αναλαμβάνει για εσάς

  • Τα νέα στοιχεία μπαίνουν με περιορισμένη κλιμάκωση ενώ τα ανέγγιχτα μένουν ακίνητα.
  • Τα στοιχεία που αφαιρούνται βγαίνουν από τη ροή και κινούνται προς τα έξω εκεί που ήταν, ενώ τα υπόλοιπα γλιστρούν στο κενό.
  • Τα στοιχεία που αναδιατάσσονται γλιστρούν στις νέες θέσεις τους.
  • Οι κινήσεις που διακόπτονται από άλλη αλλαγή κρατούν την ταχύτητά τους.
  • Το present={false} κινεί κάθε στοιχείο προς τα έξω και το playKey αναπαράγει ξανά την είσοδο.

Χρησιμοποιήστε το για

  • Μια λίστα εκκρεμοτήτων.
  • Φιλτραρισμένα αποτελέσματα αναζήτησης.
  • Ένα καλάθι αγορών.

Props

PropΤύποςΠροεπιλογήΠεριγραφή
itemsreadonly T[]—υποχρεωτικόΟ πίνακας δεδομένων σας.
getKey(item) => string | numberitem.idΕπιστρέφει μοναδικό, σταθερό key για ένα στοιχείο. Από προεπιλογή item.id, ή το ίδιο το στοιχείο για συμβολοσειρές και αριθμούς.
renderItem(item, index) => ReactNodeitem.labelΣχεδιάζει ένα στοιχείο.
aselement'div'Το στοιχείο προς απόδοση.
itemAselement'li' | 'div'Το στοιχείο για κάθε στοιχείο λίστας.
itemClassNamestringΚλάση για κάθε στοιχείο λίστας· το itemStyle ορίζει το inline στυλ του.
effect'rise' | 'fade' | 'scale' | 'slide''rise'Πώς μπαίνουν και βγαίνουν τα στοιχεία.
distancenumber16Διαδρομή των rise και slide σε pixels.
staggernumber40Χιλιοστά του δευτερολέπτου ανάμεσα στα στοιχεία που μπαίνουν.
order'forward' | 'reverse''forward'Κατεύθυνση της κλιμάκωσης.
presentbooleantrueΤο false κινεί κάθε στοιχείο προς τα έξω κρατώντας τη διάταξη· το true τα επαναφέρει.
initialbooleantrueΑναπαραγωγή της εισόδου όταν προσαρτάται η λίστα.
playKeystring | numberΗ αλλαγή του αναπαράγει ξανά την είσοδο.
transitionTransitionspringΜετάβαση για στοιχεία που μπαίνουν και βγαίνουν.
layoutTransitionTransitionspringΜετάβαση για στοιχεία που γλιστρούν σε νέες θέσεις.

Τα υπόλοιπα props πηγαίνουν στο στοιχείο που αποδίδεται, οπότε τα className, style και οι χειριστές συμβάντων λειτουργούν κανονικά.

Web και React Native

Κάθε στοιχείο παίρνει ένα στοιχείο περιτύλιξης (li μέσα σε ul ή ol, αλλιώς div· το itemAs το αλλάζει) με στυλ από το itemClassName.

Τα keys πρέπει να είναι μοναδικά. Τυλίξτε τη λίστα σε MotionHeight για να κινείται και το συνολικό της ύψος.

Χρησιμοποιείται σε αυτά τα παραδείγματα

Αναζήτηση

Πληκτρολογήστε για αναζήτηση στην τεκμηρίωση.