Tutti i componenti

MotionReorder

Trascina per riordinare una lista o una griglia, con supporto per la tastiera.

WebReact NativeListe

Provalo

Preparazione dell’esempio…

L’uso più breve

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

Di che cosa si occupa al posto tuo

  • Gli altri elementi si spostano mentre trascini (reorder="live") o quando rilasci (reorder="drop").
  • Layout a lista e a griglia con columns e gap.
  • Spostamenti da tastiera sul web, e azioni di accessibilità su React Native.
  • Controllato con items e onItemsChange, oppure non controllato con defaultItems.

Usalo per

  • Una playlist.
  • Un backlog con priorità.
  • Una griglia di foto.

Props

PropTipoPredefinitoDescrizione
itemsreadonly T[]Gli elementi, quando controlli tu l’ordine.
defaultItemsreadonly T[][]Elementi iniziali, quando è il componente a gestire l’ordine.
onItemsChange(items, { reason, key }) => voidViene eseguito con il nuovo ordine e con l’origine della modifica: trascinamento, rilascio o tastiera.
getKey(item) => string | numberitemRestituisce una key unica per un elemento. Di default è l’elemento stesso.
renderItem(item, { index, dragging }) => ReactNodeitem.labelDisegna un elemento; riceve il suo indice e se lo si sta trascinando.
reorder'live' | 'drop''live'live sposta gli altri elementi durante il trascinamento; drop aspetta il rilascio.
layout'list' | 'grid''grid'list o grid.
columnsnumber3Colonne di una griglia.
gapnumber12Spazio tra gli elementi, in pixel.
disabledbooleanfalseDisattiva il trascinamento.
durationnumber260Millisecondi per gli elementi che si spostano.
itemClassNamestringClasse per l’elemento di ogni voce; itemStyle imposta il suo stile inline.

Le altre props vanno all’elemento renderizzato, quindi className, style e gli event handler funzionano come sempre.

Web e React Native

onItemsChange(items, { reason }) ti dice se una modifica viene da un trascinamento, da un rilascio o dalla tastiera.

Su React Native valgono le stesse props, e il riordino è offerto anche come azioni di accessibilità.

Cerca

Scrivi per cercare nella documentazione.