Όλα τα components

MotionHeight

Ύψος που ακολουθεί το περιεχόμενο: σύμπτυξη, ανάπτυξη και αλλαγές περιεχομένου.

WebReact NativeΠεριεχόμενο και μέγεθος

Δοκιμάστε το

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

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

Details.jsx
<button onClick={() => setOpen(!open)}>Details</button>
<MotionHeight open={open}>
  <Answer />
</MotionHeight>

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

  • Κινείται ως το πραγματικό ύψος του περιεχομένου, που μετριέται για εσάς.
  • Ακολουθεί το περιεχόμενο όταν μεγαλώνει ή μικραίνει ενώ είναι ανοιχτό.
  • Ξεκινά από το ύψος στην οθόνη, ακόμη και στη μέση μιας αλλαγής.
  • Η αλλαγή μεγέθους της σελίδας κουμπώνει αμέσως αντί να μένει πίσω από το νέο πλάτος.
  • Το κλειστό περιεχόμενο μένει προσαρτημένο αλλά κρυφό και ανενεργό, οπότε η κατάστασή του διατηρείται.

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

  • Απαντήσεις σε ένα FAQ.
  • Μια ομάδα ρυθμίσεων που ανοίγει.
  • Μια λίστα της οποίας το συνολικό ύψος πρέπει να κινείται (τυλίξτε το MotionList).

Props

PropΤύποςΠροεπιλογήΠεριγραφή
openbooleantrueΤο false συμπτύσσει σε μηδενικό ύψος· το περιεχόμενο μένει προσαρτημένο αλλά κρυφό και ανενεργό.
childrenReactNodeΤο περιεχόμενο.
aselement'div'Το στοιχείο προς απόδοση.
transitionTransitionspringΜια καμπύλη timing { duration, easing } ή ένα ελατήριο { tempo: 'spring', spring }. Τα ελατήρια κρατούν την ορμή τους όταν διακόπτονται.
onMotionComplete(open) => voidΕκτελείται με το open μόλις ηρεμήσει το ύψος.

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

Web και React Native

Στο web το ύψος παίζεται στο Web Animations API και το περιεχόμενο κρατά την κανονική του διάταξη.

Στο React Native η προβολή αποκόπτει το περιεχόμενό της και κινεί το ύψος με τον JS driver, επειδή το ύψος είναι διάταξη.

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

Αναζήτηση

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