Urmează tragerile, opune rezistență după cea mai mare oprire și se așază cu viteza eliberării; o mișcare bruscă îl mută cu o oprire sau îl închide.
Tragerile tactile se predau conținutului derulabil: tragerea în jos derulează conținutul înapoi sus înainte să se miște sheet-ul.
Opririle ca fracțiuni din ecran, pixeli sau 'content' pentru mărimea naturală a conținutului.
Un sheet modal păstrează focusul înăuntru, face pagina inertă și se închide cu Escape sau cu fundalul.
Folosiți-o pentru
Un panou de filtre.
Un meniu de partajare.
Un sertar de navigare cu side="start".
Props
Prop
Tip
Implicit
Descriere
open
boolean
false
Dacă sheet-ul este afișat.
onOpenChange
(open) => void
Rulează cu false când sheet-ul e închis prin tragere, atingere sau Escape.
detents
(number | 'content')[]
['content']
Mărimi de repaus: o fracțiune din ecran, pixeli sau 'content'.
detent
number
Indexul de oprire controlat.
defaultDetent
number
0
Indexul de oprire folosit la deschiderea fără detent.
onDetentChange
(index) => void
Rulează cu indexul opririi pe care se așază sheet-ul.
side
'bottom' | 'top' | 'start' | 'end'
'bottom'
Marginea de pe care vine sheet-ul.
modal
boolean
true
Adaugă un fundal, păstrează focusul înăuntru și face pagina inertă.
dismissible
boolean
true
Tragerea dincolo de cea mai mică oprire, fundalul și Escape îl închid.
backdropClassName
string
Clasă pentru fundal; backdropStyle îi setează stilul inline.
transition
Transition
spring
O curbă timing { duration, easing } sau un arc { tempo: 'spring', spring }. Arcurile își păstrează impulsul când sunt întrerupte.
Celelalte props merg la elementul randat, așa că className, style și handlerele de evenimente funcționează ca de obicei.
Web și React Native
Pe web, un sheet modal este un dialog nativ; panoul este o coloană flex pe care o stilizați cu className.
În React Native se randează într-un Modal transparent, iar butonul înapoi îl închide. ScrollView-urile interioare își păstrează gesturile, așa că sheet-ul se trage de mâner, de antet și de alte zone statice.