Segue i trascinamenti, fa resistenza oltre il detent più grande e si assesta con la velocità del tuo rilascio; un colpo rapido sposta di un detent o lo chiude.
I trascinamenti touch passano al contenuto scorrevole: tirando giù, il contenuto torna in cima prima che lo sheet si muova.
Detent come frazioni dello schermo, pixel, oppure 'content' per la dimensione naturale del contenuto.
Uno sheet modale tiene il focus al suo interno, rende inerte la pagina e si chiude con Esc o lo sfondo.
Usalo per
Un pannello di filtri.
Un menu di condivisione.
Un cassetto di navigazione con side="start".
Props
Prop
Tipo
Predefinito
Descrizione
open
boolean
false
Se lo sheet è visibile.
onOpenChange
(open) => void
Viene eseguito con false quando lo sheet viene chiuso trascinandolo, toccando fuori o con Esc.
detents
(number | 'content')[]
['content']
Dimensioni di riposo: una frazione dello schermo, pixel, oppure 'content'.
detent
number
Indice del detent controllato.
defaultDetent
number
0
Indice del detent usato all’apertura senza detent.
onDetentChange
(index) => void
Viene eseguito con l’indice del detent su cui lo sheet si assesta.
side
'bottom' | 'top' | 'start' | 'end'
'bottom'
Il bordo da cui arriva lo sheet.
modal
boolean
true
Aggiunge uno sfondo, tiene il focus all’interno e rende inerte la pagina.
dismissible
boolean
true
Trascinare oltre il detent più piccolo, lo sfondo ed Esc lo chiudono.
backdropClassName
string
Classe per lo sfondo; backdropStyle imposta il suo stile inline.
transition
Transition
spring
Una curva di timing { duration, easing } o una molla { tempo: 'spring', spring }. Le molle conservano lo slancio quando vengono interrotte.
Le altre props vanno all’elemento renderizzato, quindi className, style e gli event handler funzionano come sempre.
Web e React Native
Sul web uno sheet modale è un dialog nativo; il pannello è una colonna flex che stilizzi con className.
Su React Native viene renderizzato in un Modal trasparente e il tasto Indietro lo chiude. Gli ScrollView interni mantengono i propri gesti, quindi lo sheet si trascina dalla maniglia, dall’intestazione e dalle altre aree fisse.