Sleduje tažení, za největší zarážkou klade odpor a usadí se podle rychlosti puštění; švihnutí posune o jednu zarážku nebo zavře.
Dotyková tažení se předávají posouvatelnému obsahu: tah dolů nejprve posune obsah zpět nahoru, teprve pak se pohne sheet.
Zarážky jako zlomky obrazovky, pixely nebo 'content' pro přirozenou velikost obsahu.
Modální sheet drží fokus uvnitř, učiní stránku neaktivní a zavře se klávesou Escape nebo pozadím.
Použijte pro
Panel filtrů.
Nabídka sdílení.
Navigační zásuvka s side="start".
Props
Prop
Typ
Výchozí
Popis
open
boolean
false
Zda je sheet zobrazený.
onOpenChange
(open) => void
Spustí se s false, když se sheet zavře tažením, klepnutím nebo klávesou Escape.
detents
(number | 'content')[]
['content']
Klidové velikosti: zlomek obrazovky, pixely nebo 'content'.
detent
number
Řízený index zarážky.
defaultDetent
number
0
Index zarážky při otevření bez detent.
onDetentChange
(index) => void
Spustí se s indexem zarážky, na které sheet dosedne.
side
'bottom' | 'top' | 'start' | 'end'
'bottom'
Okraj, ze kterého sheet přichází.
modal
boolean
true
Přidá pozadí, drží fokus uvnitř a učiní stránku neaktivní.
dismissible
boolean
true
Zavře ho tažení za nejmenší zarážku, pozadí i Escape.
backdropClassName
string
Třída pro pozadí; backdropStyle nastaví jeho inline styl.
transition
Transition
spring
Křivka timing { duration, easing } nebo pružina { tempo: 'spring', spring }. Pružiny si při přerušení zachovávají hybnost.
Ostatní props jdou do renderovaného prvku, takže className, style a obsluhy událostí fungují jako obvykle.
Web a React Native
Na webu je modální sheet nativní dialog; panel je flex sloupec, který stylujete přes className.
V React Native se renderuje v průhledném Modal a zavře ho tlačítko zpět. Vnitřní ScrollView si zachovávají vlastní gesta, takže se sheet táhne za úchyt, záhlaví a další pevné oblasti.