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
| Prop | Tyyppi | Oletus | Kuvaus |
|---|
items | readonly T[] | | Kohteet, kun ohjaat järjestystä itse. |
|---|
defaultItems | readonly T[] | [] | Aloituskohteet, kun komponentti pitää järjestyksen. |
|---|
onItemsChange | (items, { reason, key }) => void | | Suoritetaan uuden järjestyksen kanssa ja kertoo, tuliko se vedosta, pudotuksesta vai näppäimistöltä. |
|---|
getKey | (item) => string | number | item | Palauttaa kohteelle yksilöllisen keyn. Oletuksena kohde itse. |
|---|
renderItem | (item, { index, dragging }) => ReactNode | item.label | Piirtää 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. |
|---|
columns | number | 3 | Ruudukon sarakkeet. |
|---|
gap | number | 12 | Kohteiden välinen tila pikseleinä. |
|---|
disabled | boolean | false | Poistaa vetämisen käytöstä. |
|---|
duration | number | 260 | Millisekunnit väistäville kohteille. |
|---|
itemClassName | string | | Luokka 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.