Kaikki komponentit

MotionReorder

Listan tai ruudukon järjestäminen vetämällä, näppäimistötuen kanssa.

WebReact NativeListat

Kokeile

Valmistellaan esimerkkiä…

Lyhin käyttö

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

Mitä se hoitaa puolestasi

  • Muut kohteet väistävät vetäessäsi (reorder="live") tai kun pudotat (reorder="drop").
  • Lista- ja ruudukkoasettelut columns- ja gap-arvoilla.
  • Näppäimistösiirrot webissä ja saavutettavuustoiminnot React Nativessa.
  • Ohjattu items- ja onItemsChange-arvoilla tai ohjaamaton defaultItems-arvolla.

Käytä sitä

  • Soittolista.
  • Priorisoitu työjono.
  • Valokuvaruudukko.

Props

PropTyyppiOletusKuvaus
itemsreadonly T[]Kohteet, kun ohjaat järjestystä itse.
defaultItemsreadonly T[][]Aloituskohteet, kun komponentti pitää järjestyksen.
onItemsChange(items, { reason, key }) => voidSuoritetaan uuden järjestyksen kanssa ja kertoo, tuliko se vedosta, pudotuksesta vai näppäimistöltä.
getKey(item) => string | numberitemPalauttaa kohteelle yksilöllisen keyn. Oletuksena kohde itse.
renderItem(item, { index, dragging }) => ReactNodeitem.labelPiirtää kohteen; saa sen indeksin ja tiedon, vedetäänkö sitä.
reorder'live' | 'drop''live'live siirtää muita kohteita vedon aikana; drop odottaa pudotusta.
layout'list' | 'grid''grid'list tai grid.
columnsnumber3Ruudukon sarakkeet.
gapnumber12Kohteiden välinen tila pikseleinä.
disabledbooleanfalsePoistaa vetämisen käytöstä.
durationnumber260Millisekunnit väistäville kohteille.
itemClassNamestringLuokka kullekin kohde-elementille; itemStyle asettaa sen inline-tyylin.

Muut props-arvot menevät renderöidylle elementille, joten className, style ja tapahtumankäsittelijät toimivat tavalliseen tapaan.

Web ja React Native

onItemsChange(items, { reason }) kertoo, tuliko muutos vedosta, pudotuksesta vai näppäimistöltä.

React Nativessa pätevät samat props-arvot, ja järjestäminen tarjotaan myös saavutettavuustoimintoina.

Haku

Kirjoita hakeaksesi dokumentaatiosta.