Alle componenten

MotionReorder

Sleep om een lijst of raster te herordenen, met toetsenbordondersteuning.

WebReact NativeLijsten

Probeer het

Voorbeeld voorbereiden…

Kortste gebruik

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

Wat het voor je regelt

  • Andere items gaan opzij terwijl je sleept (reorder="live") of zodra je loslaat (reorder="drop").
  • Lijst- en rasterlayouts met columns en gap.
  • Verplaatsen met het toetsenbord op het web, en toegankelijkheidsacties in React Native.
  • Gecontroleerd met items en onItemsChange, of ongecontroleerd met defaultItems.

Gebruik het voor

  • Een afspeellijst.
  • Een geprioriteerde backlog.
  • Een fotoraster.

Props

PropTypeStandaardBeschrijving
itemsreadonly T[]De items, als jij de volgorde beheert.
defaultItemsreadonly T[][]Startitems, als het component de volgorde bijhoudt.
onItemsChange(items, { reason, key }) => voidDraait met de nieuwe volgorde en of die kwam van slepen, loslaten of het toetsenbord.
getKey(item) => string | numberitemGeeft een unieke key voor een item terug. Standaard het item zelf.
renderItem(item, { index, dragging }) => ReactNodeitem.labelTekent een item; krijgt de index en of het wordt gesleept.
reorder'live' | 'drop''live'live verplaatst andere items tijdens het slepen; drop wacht op het loslaten.
layout'list' | 'grid''grid'list of grid.
columnsnumber3Kolommen in een raster.
gapnumber12Ruimte tussen items in pixels.
disabledbooleanfalseZet slepen uit.
durationnumber260Milliseconden voor items die opzij gaan.
itemClassNamestringClass voor elk item-element; itemStyle zet de inline style.

Andere props gaan naar het gerenderde element, dus className, style en event handlers werken zoals gewoonlijk.

Web en React Native

onItemsChange(items, { reason }) vertelt of een wijziging kwam van slepen, loslaten of het toetsenbord.

In React Native gelden dezelfde props en wordt herordenen ook aangeboden als toegankelijkheidsacties.

Zoeken

Typ om de documentatie te doorzoeken.