Všetky komponenty
MotionHeight
Výška, ktorá sleduje obsah: zbalenie, rozbalenie a zmeny obsahu.
WebReact NativeObsah a veľkosť
Vyskúšajte
Najkratšie použitie
Details.jsx<button onClick={() => setOpen(!open)}>Details</button>
<MotionHeight open={open}>
<Answer />
</MotionHeight>
Čo za vás vyrieši
- Animuje na skutočnú výšku obsahu, nameranú za vás.
- Sleduje obsah, keď v otvorenom stave rastie alebo sa zmenšuje.
- Začína od výšky na obrazovke, aj uprostred zmeny.
- Zmena veľkosti stránky sa prispôsobí hneď namiesto toho, aby za novou šírkou zaostávala.
- Zatvorený obsah zostáva pripojený, ale skrytý a neaktívny, takže si zachová stav.
Použite na
- Odpovede v FAQ.
- Skupina nastavení, ktorá sa otvára.
- Zoznam, ktorého celková výška sa má animovať (obaľte
MotionList).
Props
| Prop | Typ | Predvolené | Popis |
|---|
open | boolean | true | false zbalí na nulovú výšku; obsah zostane pripojený, ale skrytý a neaktívny. |
|---|
children | ReactNode | | Obsah. |
|---|
as | element | 'div' | Prvok, ktorý sa renderuje. |
|---|
transition | Transition | spring | Krivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť. |
|---|
onMotionComplete | (open) => void | | Spustí sa s open, keď výška dosadne. |
|---|
Ostatné props idú do renderovaného prvku, takže className, style a obsluhy udalostí fungujú ako obvykle.
Použité v týchto príkladoch