Kaikki komponentit
MotionHeight
Sisältöä seuraava korkeus: tiivistäminen, laajentaminen ja sisällön muutokset.
WebReact NativeSisältö ja koko
Kokeile
Valmistellaan esimerkkiä…
Lyhin käyttö
Details.jsx<button onClick={() => setOpen(!open)}>Details</button>
<MotionHeight open={open}>
<Answer />
</MotionHeight>
Mitä se hoitaa puolestasi
- Animoi sisällön todelliseen korkeuteen, joka mitataan puolestasi.
- Seuraa sisältöä, kun se kasvaa tai pienenee auki ollessaan.
- Alkaa näytöllä olevasta korkeudesta keskellä muutostakin.
- Sivun koon muuttaminen napsahtaa heti eikä jää jälkeen uudesta leveydestä.
- Suljettu sisältö pysyy kiinnitettynä mutta piilotettuna ja passiivisena, joten sen tila säilyy.
Käytä sitä
- FAQ-vastaukset.
- Avautuva asetusryhmä.
- Lista, jonka kokonaiskorkeuden pitää animoitua (kääri
MotionList).
Props
| Prop | Tyyppi | Oletus | Kuvaus |
|---|
open | boolean | true | false tiivistää nollakorkeuteen; sisältö pysyy kiinnitettynä mutta piilotettuna ja passiivisena. |
|---|
children | ReactNode | | Sisältö. |
|---|
as | element | 'div' | Renderöitävä elementti. |
|---|
transition | Transition | spring | Timing-käyrä { duration, easing } tai jousi { tempo: 'spring', spring }. Jouset säilyttävät liikemääränsä keskeytettäessä. |
|---|
onMotionComplete | (open) => void | | Suoritetaan open-arvon kanssa, kun korkeus on asettunut. |
|---|
Muut props-arvot menevät renderöidylle elementille, joten className, style ja tapahtumankäsittelijät toimivat tavalliseen tapaan.
Käytetty näissä esimerkeissä