Följer dragningar, gör motstånd förbi sitt största stoppläge och landar med din släpphastighet; en snärt flyttar ett stoppläge eller stänger.
Pekdragningar lämnas över till scrollbart innehåll: att dra nedåt scrollar innehållet tillbaka till toppen innan sheeten rör sig.
Stopplägen som bråkdelar av skärmen, pixlar eller 'content' för innehållets naturliga storlek.
En modal sheet håller fokus inuti, gör sidan inert och stängs med Escape eller bakgrunden.
Använd den för
En filterpanel.
En delningsmeny.
En navigationslåda med side="start".
Props
Prop
Typ
Standard
Beskrivning
open
boolean
false
Om sheeten visas.
onOpenChange
(open) => void
Körs med false när sheeten dras, trycks eller Escape-stängs.
detents
(number | 'content')[]
['content']
Vilostorlekar: en bråkdel av skärmen, pixlar eller 'content'.
detent
number
Kontrollerat index för stoppläge.
defaultDetent
number
0
Index för stoppläge vid öppning utan detent.
onDetentChange
(index) => void
Körs med index för stoppläget som sheeten landar på.
side
'bottom' | 'top' | 'start' | 'end'
'bottom'
Kanten som sheeten kommer från.
modal
boolean
true
Lägger till en bakgrund, håller fokus inuti och gör sidan inert.
dismissible
boolean
true
Dragning förbi det minsta stoppläget, bakgrunden och Escape stänger den.
backdropClassName
string
Klass för bakgrunden; backdropStyle sätter dess inline-style.
transition
Transition
spring
En timingkurva { duration, easing } eller en fjäder { tempo: 'spring', spring }. Fjädrar behåller sitt momentum när de avbryts.
Andra props går till det renderade elementet, så className, style och händelsehanterare fungerar som vanligt.
Webb och React Native
På webben är en modal sheet en native dialog; panelen är en flex-kolumn som du stylar med className.
I React Native renderas den i en genomskinlig Modal och bakåtknappen stänger den. Inre ScrollViews behåller sina egna gester, så sheeten dras i sitt handtag, sitt sidhuvud och andra fasta ytor.