Усі компоненти

MotionSheet

Нижня чи верхня шторка або бічна панель із точками зупинки, змахами й передаванням прокручування.

ВебReact NativeОверлеї

Спробуйте

Підготовка прикладу…

Найкоротше використання

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

Що він бере на себе

  • Іде за перетягуванням, чинить опір за найбільшою точкою зупинки й зупиняється з урахуванням швидкості відпускання; змах зсуває на одну точку чи закриває.
  • Дотики передаються прокручуваному вмісту: під час потягування вниз вміст спершу прокручується на початок, а вже потім рухається шторка.
  • Точки зупинки — частки екрана, пікселі чи 'content' для природного розміру вмісту.
  • Модальна шторка тримає фокус усередині, робить сторінку неактивною й закривається за Escape чи натисканням на тло.

Для чого підходить

  • Панель фільтрів.
  • Меню «Поділитися».
  • Навігаційна панель із side="start".

Props

ПропТипТиповоОпис
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 зберігають свої жести, тож шторку тягнуть за ручку, заголовок та інші статичні ділянки.

Використовується в прикладах

Пошук

Почніть вводити, щоб шукати в документації.