Alle komponenter
MotionReorder
Dra for å sortere om en liste eller et rutenett, med tastaturstøtte.
WebReact NativeLister
Prøv det
Korteste bruk
Playlist.jsx<MotionReorder
items={tracks}
onItemsChange={setTracks}
layout="list"
renderItem={(track) => track.title}
/>;
Dette tar den seg av
- Andre elementer flytter seg unna mens du drar (
reorder="live") eller når du slipper (reorder="drop"). - Liste- og rutenettlayout med
columns og gap. - Tastaturflytting på nettet og tilgjengelighetshandlinger i React Native.
- Kontrollert med
items og onItemsChange, eller ukontrollert med defaultItems.
Bruk den til
- En spilleliste.
- En prioritert backlog.
- Et bilderutenett.
Props
| Prop | Type | Standard | Beskrivelse |
|---|
items | readonly T[] | | Elementene, når du styrer rekkefølgen. |
|---|
defaultItems | readonly T[] | [] | Startelementer, når komponenten holder rekkefølgen. |
|---|
onItemsChange | (items, { reason, key }) => void | | Kjører med den nye rekkefølgen og om den kom fra et drag, et slipp eller tastaturet. |
|---|
getKey | (item) => string | number | item | Returnerer en unik nøkkel for et element. Standard er selve elementet. |
|---|
renderItem | (item, { index, dragging }) => ReactNode | item.label | Tegner et element; får indeksen og om det dras. |
|---|
reorder | 'live' | 'drop' | 'live' | live flytter andre elementer under draget; drop venter på slippet. |
|---|
layout | 'list' | 'grid' | 'grid' | list eller grid. |
|---|
columns | number | 3 | Kolonner i et rutenett. |
|---|
gap | number | 12 | Avstand mellom elementer i piksler. |
|---|
disabled | boolean | false | Slår av dra. |
|---|
duration | number | 260 | Millisekunder for elementer som flytter seg unna. |
|---|
itemClassName | string | | Klasse for hvert punkts element; itemStyle setter inline-stilen. |
|---|
Andre props går til det renderte elementet, så className, style og hendelseshåndterere fungerer som vanlig.