Alle komponenter

MotionReorder

Dra for å sortere om en liste eller et rutenett, med tastaturstøtte.

WebReact NativeLister

Prøv det

Forbereder eksempelet …

Korteste bruk

Playlist.jsx
<MotionReorder
  items={tracks}
  onItemsChange={setTracks}
  layout="list"
  renderItem={(track) => track.title}
/>;

Dette tar den seg av

  • Andre elementer flytter seg unna mens du drar (reorder="live") eller når du slipper (reorder="drop").
  • Liste- og rutenettlayout med columns og gap.
  • Tastaturflytting på nettet og tilgjengelighetshandlinger i React Native.
  • Kontrollert med items og onItemsChange, eller ukontrollert med defaultItems.

Bruk den til

  • En spilleliste.
  • En prioritert backlog.
  • Et bilderutenett.

Props

PropTypeStandardBeskrivelse
itemsreadonly T[]Elementene, når du styrer rekkefølgen.
defaultItemsreadonly T[][]Startelementer, når komponenten holder rekkefølgen.
onItemsChange(items, { reason, key }) => voidKjører med den nye rekkefølgen og om den kom fra et drag, et slipp eller tastaturet.
getKey(item) => string | numberitemReturnerer en unik nøkkel for et element. Standard er selve elementet.
renderItem(item, { index, dragging }) => ReactNodeitem.labelTegner et element; får indeksen og om det dras.
reorder'live' | 'drop''live'live flytter andre elementer under draget; drop venter på slippet.
layout'list' | 'grid''grid'list eller grid.
columnsnumber3Kolonner i et rutenett.
gapnumber12Avstand mellom elementer i piksler.
disabledbooleanfalseSlår av dra.
durationnumber260Millisekunder for elementer som flytter seg unna.
itemClassNamestringKlasse for hvert punkts element; itemStyle setter inline-stilen.

Andre props går til det renderte elementet, så className, style og hendelseshåndterere fungerer som vanlig.

Web og React Native

onItemsChange(items, { reason }) forteller om en endring kom fra et drag, et slipp eller tastaturet.

I React Native gjelder de samme props, og omsortering tilbys også som tilgjengelighetshandlinger.

Søk

Skriv for å søke i dokumentasjonen.