Всички компоненти

MotionSheet

Долен или горен панел, или странично чекмедже със спирки, махвания и предаване на превъртането.

УебReact NativeНаслагвания

Опитайте

Подготовка на примера…

Най-кратка употреба

Filters.jsx
<MotionSheet open={open} onOpenChange={setOpen} detents={[0.45, 0.92]}>
  <FilterList />
</MotionSheet>;

С какво се справя вместо вас

  • Следва влаченето, оказва съпротивление отвъд най-голямата спирка и спира според скоростта на пускане; махване мести с една спирка или затваря.
  • Докосванията се предават на превъртаемото съдържание: дърпането надолу първо превърта съдържанието до горе, а после се мести панелът.
  • Спирки като части от екрана, пиксели или 'content' за естествения размер на съдържанието.
  • Модален панел задържа фокуса вътре, прави страницата неактивна и се затваря с Escape или с фона.

Подходящ за

  • Панел с филтри.
  • Меню за споделяне.
  • Навигационно чекмедже със side="start".

Props

PropТипПо подразбиранеОписание
openbooleanfalseДали панелът е показан.
onOpenChange(open) => voidИзпълнява се с false, когато панелът бъде затворен с влачене, докосване или Escape.
detents(number | 'content')[]['content']Размери в покой: част от екрана, пиксели или 'content'.
detentnumberКонтролиран индекс на спирката.
defaultDetentnumber0Индекс на спирката при отваряне без detent.
onDetentChange(index) => voidИзпълнява се с индекса на спирката, на която панелът спира.
side'bottom' | 'top' | 'start' | 'end''bottom'Ръбът, от който идва панелът.
modalbooleantrueДобавя фон, задържа фокуса вътре и прави страницата неактивна.
dismissiblebooleantrueЗатварят го влачене отвъд най-малката спирка, фонът и Escape.
backdropClassNamestringКлас за фона; backdropStyle задава вградения му стил.
transitionTransitionspringКрива на timing { duration, easing } или пружина { tempo: 'spring', spring }. Пружините запазват инерцията си при прекъсване.

Другите props отиват към рендерирания елемент, така че className, style и обработчиците на събития работят както обикновено.

Уеб и React Native

В уеб модалният панел е нативен dialog; панелът е flex колона, която стилизирате с className.

В React Native се рендерира в прозрачен Modal и се затваря с бутона „Назад“. Вътрешните ScrollView запазват собствените си жестове, така че панелът се влачи за дръжката, заглавието и други статични области.

Използван в тези примери

Търсене

Пишете, за да търсите в документацията.