Alle komponenter

MotionSheet

En bottom sheet, top sheet eller sideskuffe med stoppunkter, svirp og overdragelse af scroll.

WebReact NativeOverlays

Prøv det

Forbereder eksemplet…

Korteste brug

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

Det klarer den for dig

  • Følger træk, yder modstand forbi sit største stoppunkt og lander med din slip-hastighed; et svirp flytter ét stoppunkt eller lukker.
  • Berøringstræk overdrages til scrollbart indhold: at trække nedad scroller indholdet tilbage til toppen, før sheeten bevæger sig.
  • Stoppunkter som brøkdele af skærmen, pixels eller 'content' for indholdets naturlige størrelse.
  • En modal sheet holder fokus indeni, gør siden inert og lukker med Escape eller baggrunden.

Brug den til

  • Et filterpanel.
  • En delemenu.
  • En navigationsskuffe med side="start".

Props

PropTypeStandardBeskrivelse
openbooleanfalseOm sheeten vises.
onOpenChange(open) => voidKører med false, når sheeten trækkes, trykkes eller Escape-lukkes.
detents(number | 'content')[]['content']Hvilestørrelser: en brøkdel af skærmen, pixels eller 'content'.
detentnumberKontrolleret indeks for stoppunkt.
defaultDetentnumber0Indeks for stoppunkt ved åbning uden detent.
onDetentChange(index) => voidKører med indekset for det stoppunkt, sheeten lander på.
side'bottom' | 'top' | 'start' | 'end''bottom'Kanten, sheeten kommer fra.
modalbooleantrueTilføjer en baggrund, holder fokus indeni og gør siden inert.
dismissiblebooleantrueTræk forbi det mindste stoppunkt, baggrunden og Escape lukker den.
backdropClassNamestringKlasse til baggrunden; backdropStyle sætter dens inline-style.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjeder { tempo: 'spring', spring }. Fjedre bevarer deres momentum, når de afbrydes.

Andre props går til det renderede element, så className, style og event handlers virker som normalt.

Web og React Native

På nettet er en modal sheet en native dialog; panelet er en flex-kolonne, som du styler med className.

I React Native renderes den i en gennemsigtig Modal, og tilbageknappen lukker den. Indre ScrollViews beholder deres egne gestus, så sheeten trækkes i sit håndtag, sidehoved og andre faste områder.

Brugt i disse eksempler

Søg

Skriv for at søge i dokumentationen.