Všetky komponenty

MotionReorder

Radenie zoznamu alebo mriežky presúvaním, s podporou klávesnice.

WebReact NativeZoznamy

Vyskúšajte

Príprava príkladu…

Najkratšie použitie

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

Čo za vás vyrieši

  • Ostatné položky uhýbajú počas ťahania (reorder="live") alebo po pustení (reorder="drop").
  • Rozloženia zoznamu a mriežky s columns a gap.
  • Presuny klávesnicou na webe a akcie prístupnosti v React Native.
  • Riadené cez items a onItemsChange, alebo neriadené cez defaultItems.

Použite na

  • Playlist.
  • Backlog podľa priority.
  • Mriežka fotiek.

Props

PropTypPredvolenéPopis
itemsreadonly T[]Položky, keď poradie riadite vy.
defaultItemsreadonly T[][]Počiatočné položky, keď poradie drží komponent.
onItemsChange(items, { reason, key }) => voidSpustí sa s novým poradím a informáciou, či prišlo z ťahania, pustenia alebo klávesnice.
getKey(item) => string | numberitemVracia jedinečný kľúč položky. Predvolene samotnú položku.
renderItem(item, { index, dragging }) => ReactNodeitem.labelVykreslí položku; dostane jej index a to, či sa ťahá.
reorder'live' | 'drop''live'live posúva ostatné položky počas ťahania; drop čaká na pustenie.
layout'list' | 'grid''grid'list alebo grid.
columnsnumber3Stĺpce v mriežke.
gapnumber12Medzera medzi položkami v pixeloch.
disabledbooleanfalseVypne ťahanie.
durationnumber260Milisekundy, za ktoré položky uhnú.
itemClassNamestringTrieda pre prvok každej položky; itemStyle nastaví jeho inline štýl.

Ostatné props idú do renderovaného prvku, takže className, style a obsluhy udalostí fungujú ako obvykle.

Web a React Native

onItemsChange(items, { reason }) povie, či zmena prišla z ťahania, pustenia alebo klávesnice.

V React Native platia rovnaké props a radenie sa ponúka aj ako akcie prístupnosti.

Hľadať

Píšte a hľadajte v dokumentácii.