Alle componenten

MotionSheet

Een bottom sheet, top sheet of zijlade met stoppunten, zwiepen en scroll-overdracht.

WebReact NativeOverlays

Probeer het

Voorbeeld voorbereiden…

Kortste gebruik

Filters.jsx
<MotionSheet open={open} onOpenChange={setOpen} detents={[0.45, 0.92]}>
  <FilterList />
</MotionSheet>;

Wat het voor je regelt

  • Volgt slepen, biedt weerstand voorbij het grootste stoppunt en komt tot rust met je loslaatsnelheid; een zwiep verplaatst één stoppunt of sluit.
  • Touch-slepen gaat over op scrollbare inhoud: naar beneden trekken scrolt de inhoud eerst terug naar boven voordat de sheet beweegt.
  • Stoppunten als fracties van het scherm, pixels of 'content' voor de natuurlijke grootte van de inhoud.
  • Een modale sheet houdt de focus binnen, maakt de pagina inert en sluit met Escape of de achtergrond.

Gebruik het voor

  • Een filterpaneel.
  • Een deelmenu.
  • Een navigatielade met side="start".

Props

PropTypeStandaardBeschrijving
openbooleanfalseOf de sheet wordt getoond.
onOpenChange(open) => voidDraait met false als de sheet dichtgesleept, -getikt of met Escape gesloten wordt.
detents(number | 'content')[]['content']Rustgroottes: een fractie van het scherm, pixels of 'content'.
detentnumberGecontroleerde stoppuntindex.
defaultDetentnumber0Stoppuntindex bij openen zonder detent.
onDetentChange(index) => voidDraait met de index van het stoppunt waar de sheet tot rust komt.
side'bottom' | 'top' | 'start' | 'end''bottom'De rand waar de sheet vandaan komt.
modalbooleantrueVoegt een achtergrond toe, houdt de focus binnen en maakt de pagina inert.
dismissiblebooleantrueVoorbij het kleinste stoppunt slepen, de achtergrond en Escape sluiten hem.
backdropClassNamestringClass voor de achtergrond; backdropStyle zet de inline style.
transitionTransitionspringEen timingcurve { duration, easing } of een veer { tempo: 'spring', spring }. Veren behouden hun momentum als ze worden onderbroken.

Andere props gaan naar het gerenderde element, dus className, style en event handlers werken zoals gewoonlijk.

Web en React Native

Op het web is een modale sheet een native dialog; het paneel is een flexkolom die je stijl geeft met className.

In React Native rendert hij in een transparante Modal en sluit de terugknop hem. Binnenste ScrollViews houden hun eigen gebaren, dus de sheet sleep je aan de greep, de header en andere vaste delen.

Gebruikt in deze voorbeelden

Zoeken

Typ om de documentatie te doorzoeken.