Toate componentele

MotionReorder

Trageți pentru a reordona o listă sau o grilă, cu suport de tastatură.

WebReact NativeListe

Încercați

Se pregătește exemplul…

Cea mai scurtă utilizare

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

Ce rezolvă în locul dumneavoastră

  • Celelalte elemente se dau la o parte cât trageți (reorder="live") sau după ce eliberați (reorder="drop").
  • Layouturi de listă și grilă cu columns și gap.
  • Mutări cu tastatura pe web și acțiuni de accesibilitate în React Native.
  • Controlat cu items și onItemsChange sau necontrolat cu defaultItems.

Folosiți-o pentru

  • Un playlist.
  • Un backlog prioritizat.
  • O grilă de fotografii.

Props

PropTipImplicitDescriere
itemsreadonly T[]Elementele, când controlați dumneavoastră ordinea.
defaultItemsreadonly T[][]Elementele de pornire, când componenta păstrează ordinea.
onItemsChange(items, { reason, key }) => voidRulează cu noua ordine și cu sursa ei: tragere, eliberare sau tastatură.
getKey(item) => string | numberitemReturnează un key unic pentru un element. Implicit, elementul însuși.
renderItem(item, { index, dragging }) => ReactNodeitem.labelDesenează un element; primește indexul și dacă este tras.
reorder'live' | 'drop''live'live mută celelalte elemente în timpul tragerii; drop așteaptă eliberarea.
layout'list' | 'grid''grid'list sau grid.
columnsnumber3Coloane într-o grilă.
gapnumber12Spațiul dintre elemente, în pixeli.
disabledbooleanfalseDezactivează tragerea.
durationnumber260Milisecunde pentru elementele care se dau la o parte.
itemClassNamestringClasă pentru fiecare element din listă; itemStyle îi setează stilul inline.

Celelalte props merg la elementul randat, așa că className, style și handlerele de evenimente funcționează ca de obicei.

Web și React Native

onItemsChange(items, { reason }) vă spune dacă o schimbare a venit dintr-o tragere, o eliberare sau de la tastatură.

În React Native se aplică aceleași props, iar reordonarea este oferită și ca acțiuni de accesibilitate.

Căutare

Tastați pentru a căuta în documentație.