Wszystkie komponenty

MotionSheet

Arkusz dolny, górny lub szuflada boczna z punktami zatrzymania, machnięciami i przekazywaniem przewijania.

SiećReact NativeNakładki

Wypróbuj

Przygotowywanie przykładu…

Najkrótsze użycie

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

Co robi za ciebie

  • Podąża za przeciąganiem, stawia opór za największym punktem zatrzymania i układa się z prędkością twojego puszczenia; machnięcie przesuwa o jeden punkt lub zamyka.
  • Przeciąganie dotykiem przechodzi na przewijaną treść: pociągnięcie w dół najpierw przewija treść na górę, a dopiero potem porusza arkusz.
  • Punkty zatrzymania jako ułamki ekranu, piksele lub 'content' dla naturalnego rozmiaru treści.
  • Arkusz modalny trzyma fokus w środku, czyni stronę nieaktywną i zamyka się klawiszem Escape lub tłem.

Do czego służy

  • Panel filtrów.
  • Menu udostępniania.
  • Szuflada nawigacji z side="start".

Props

PropTypDomyślnieOpis
openbooleanfalseCzy arkusz jest widoczny.
onOpenChange(open) => voidUruchamia się z false, gdy arkusz zostaje zamknięty przeciągnięciem, dotknięciem lub klawiszem Escape.
detents(number | 'content')[]['content']Rozmiary spoczynku: ułamek ekranu, piksele lub 'content'.
detentnumberKontrolowany indeks punktu zatrzymania.
defaultDetentnumber0Indeks punktu zatrzymania przy otwarciu bez detent.
onDetentChange(index) => voidUruchamia się z indeksem punktu zatrzymania, na którym arkusz się układa.
side'bottom' | 'top' | 'start' | 'end''bottom'Krawędź, z której wysuwa się arkusz.
modalbooleantrueDodaje tło, trzyma fokus w środku i czyni stronę nieaktywną.
dismissiblebooleantruePrzeciągnięcie poza najmniejszy punkt zatrzymania, tło i Escape go zamykają.
backdropClassNamestringKlasa tła; backdropStyle ustawia jego styl inline.
transitionTransitionspringKrzywa timing { duration, easing } lub sprężyna { tempo: 'spring', spring }. Sprężyny zachowują pęd po przerwaniu.

Pozostałe props trafiają do renderowanego elementu, więc className, style i obsługa zdarzeń działają jak zwykle.

Sieć i React Native

W sieci arkusz modalny to natywny dialog; panel to kolumna flex, którą stylizujesz przez className.

W React Native renderuje się w przezroczystym Modal, a przycisk wstecz go zamyka. Wewnętrzne ScrollView zachowują własne gesty, więc arkusz przeciąga się za uchwyt, nagłówek i inne statyczne obszary.

Użyty w tych przykładach

Szukaj

Zacznij pisać, aby przeszukać dokumentację.