Følger træk, yder modstand forbi sit største stoppunkt og lander med din slip-hastighed; et svirp flytter ét stoppunkt eller lukker.
Berøringstræk overdrages til scrollbart indhold: at trække nedad scroller indholdet tilbage til toppen, før sheeten bevæger sig.
Stoppunkter som brøkdele af skærmen, pixels eller 'content' for indholdets naturlige størrelse.
En modal sheet holder fokus indeni, gør siden inert og lukker med Escape eller baggrunden.
Brug den til
Et filterpanel.
En delemenu.
En navigationsskuffe med side="start".
Props
Prop
Type
Standard
Beskrivelse
open
boolean
false
Om sheeten vises.
onOpenChange
(open) => void
Kører med false, når sheeten trækkes, trykkes eller Escape-lukkes.
detents
(number | 'content')[]
['content']
Hvilestørrelser: en brøkdel af skærmen, pixels eller 'content'.
detent
number
Kontrolleret indeks for stoppunkt.
defaultDetent
number
0
Indeks for stoppunkt ved åbning uden detent.
onDetentChange
(index) => void
Kører med indekset for det stoppunkt, sheeten lander på.
side
'bottom' | 'top' | 'start' | 'end'
'bottom'
Kanten, sheeten kommer fra.
modal
boolean
true
Tilføjer en baggrund, holder fokus indeni og gør siden inert.
dismissible
boolean
true
Træk forbi det mindste stoppunkt, baggrunden og Escape lukker den.
backdropClassName
string
Klasse til baggrunden; backdropStyle sætter dens inline-style.
transition
Transition
spring
En timingkurve { duration, easing } eller en fjeder { tempo: 'spring', spring }. Fjedre bevarer deres momentum, når de afbrydes.
Andre props går til det renderede element, så className, style og event handlers virker som normalt.
Web og React Native
På nettet er en modal sheet en native dialog; panelet er en flex-kolonne, som du styler med className.
I React Native renderes den i en gennemsigtig Modal, og tilbageknappen lukker den. Indre ScrollViews beholder deres egne gestus, så sheeten trækkes i sit håndtag, sidehoved og andre faste områder.