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
Prop
Type
Standaard
Beschrijving
open
boolean
false
Of de sheet wordt getoond.
onOpenChange
(open) => void
Draait 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'.
detent
number
Gecontroleerde stoppuntindex.
defaultDetent
number
0
Stoppuntindex bij openen zonder detent.
onDetentChange
(index) => void
Draait 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.
modal
boolean
true
Voegt een achtergrond toe, houdt de focus binnen en maakt de pagina inert.
dismissible
boolean
true
Voorbij het kleinste stoppunt slepen, de achtergrond en Escape sluiten hem.
backdropClassName
string
Class voor de achtergrond; backdropStyle zet de inline style.
transition
Transition
spring
Een 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.