Folgt dem Ziehen, bietet hinter dem größten Rastpunkt Widerstand und kommt mit deinem Loslass-Tempo zur Ruhe; ein Flick bewegt es um einen Rastpunkt oder schließt es.
Touch-Ziehen geht an scrollbaren Inhalt über: Runterziehen scrollt den Inhalt erst nach oben, bevor sich das Sheet bewegt.
Rastpunkte als Bruchteil des Bildschirms, in Pixeln oder 'content' für die natürliche Größe des Inhalts.
Ein modales Sheet hält den Fokus innen, macht die Seite inaktiv und schließt mit Escape oder dem Hintergrund.
Gut für
Ein Filter-Panel.
Ein Teilen-Menü.
Eine Navigationsschublade mit side="start".
props
Prop
Typ
Standard
Beschreibung
open
boolean
false
Ob das Sheet angezeigt wird.
onOpenChange
(open) => void
Läuft mit false, wenn das Sheet per Ziehen, Tippen oder Escape geschlossen wird.
detents
(number | 'content')[]
['content']
Ruhegrößen: ein Bruchteil des Bildschirms, Pixel oder 'content'.
detent
number
Kontrollierter Rastpunkt-Index.
defaultDetent
number
0
Rastpunkt-Index beim Öffnen ohne detent.
onDetentChange
(index) => void
Läuft mit dem Index des Rastpunkts, an dem das Sheet zur Ruhe kommt.
side
'bottom' | 'top' | 'start' | 'end'
'bottom'
Die Kante, von der das Sheet kommt.
modal
boolean
true
Fügt einen Hintergrund hinzu, hält den Fokus innen und macht die Seite inaktiv.
dismissible
boolean
true
Ziehen über den kleinsten Rastpunkt hinaus, der Hintergrund und Escape schließen es.
backdropClassName
string
Klasse für den Hintergrund; backdropStyle setzt seinen Inline-Style.
transition
Transition
spring
Eine Timing-Kurve { duration, easing } oder eine Feder { tempo: 'spring', spring }. Federn behalten bei Unterbrechung ihren Schwung.
Weitere props gehen an das gerenderte Element, also funktionieren className, style und Event-Handler wie gewohnt.
Web und React Native
Im Web ist ein modales Sheet ein natives dialog; das Panel ist eine Flex-Spalte, die du mit className gestaltest.
Unter React Native rendert es in einem transparenten Modal, und die Zurück-Taste schließt es. Innere ScrollViews behalten ihre eigenen Gesten, daher wird das Sheet an Griff, Kopfzeile und anderen festen Bereichen gezogen.