Следва влаченето, оказва съпротивление отвъд най-голямата спирка и спира според скоростта на пускане; махване мести с една спирка или затваря.
Докосванията се предават на превъртаемото съдържание: дърпането надолу първо превърта съдържанието до горе, а после се мести панелът.
Спирки като части от екрана, пиксели или 'content' за естествения размер на съдържанието.
Модален панел задържа фокуса вътре, прави страницата неактивна и се затваря с Escape или с фона.
Подходящ за
Панел с филтри.
Меню за споделяне.
Навигационно чекмедже със side="start".
Props
Prop
Тип
По подразбиране
Описание
open
boolean
false
Дали панелът е показан.
onOpenChange
(open) => void
Изпълнява се с false, когато панелът бъде затворен с влачене, докосване или Escape.
detents
(number | 'content')[]
['content']
Размери в покой: част от екрана, пиксели или 'content'.
detent
number
Контролиран индекс на спирката.
defaultDetent
number
0
Индекс на спирката при отваряне без detent.
onDetentChange
(index) => void
Изпълнява се с индекса на спирката, на която панелът спира.
side
'bottom' | 'top' | 'start' | 'end'
'bottom'
Ръбът, от който идва панелът.
modal
boolean
true
Добавя фон, задържа фокуса вътре и прави страницата неактивна.
dismissible
boolean
true
Затварят го влачене отвъд най-малката спирка, фонът и Escape.
backdropClassName
string
Клас за фона; backdropStyle задава вградения му стил.
transition
Transition
spring
Крива на timing { duration, easing } или пружина { tempo: 'spring', spring }. Пружините запазват инерцията си при прекъсване.
Другите props отиват към рендерирания елемент, така че className, style и обработчиците на събития работят както обикновено.
Уеб и React Native
В уеб модалният панел е нативен dialog; панелът е flex колона, която стилизирате с className.
В React Native се рендерира в прозрачен Modal и се затваря с бутона „Назад“. Вътрешните ScrollView запазват собствените си жестове, така че панелът се влачи за дръжката, заглавието и други статични области.