Všetky komponenty
MotionReorder
Radenie zoznamu alebo mriežky presúvaním, s podporou klávesnice.
WebReact NativeZoznamy
Vyskúšajte
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
| Prop | Typ | Predvolené | Popis |
|---|
items | readonly T[] | | Položky, keď poradie riadite vy. |
|---|
defaultItems | readonly T[] | [] | Počiatočné položky, keď poradie drží komponent. |
|---|
onItemsChange | (items, { reason, key }) => void | | Spustí sa s novým poradím a informáciou, či prišlo z ťahania, pustenia alebo klávesnice. |
|---|
getKey | (item) => string | number | item | Vracia jedinečný kľúč položky. Predvolene samotnú položku. |
|---|
renderItem | (item, { index, dragging }) => ReactNode | item.label | Vykreslí 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. |
|---|
columns | number | 3 | Stĺpce v mriežke. |
|---|
gap | number | 12 | Medzera medzi položkami v pixeloch. |
|---|
disabled | boolean | false | Vypne ťahanie. |
|---|
duration | number | 260 | Milisekundy, za ktoré položky uhnú. |
|---|
itemClassName | string | | Trieda 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.