Tous les composants

MotionReorder

Faites glisser pour réordonner une liste ou une grille, clavier compris.

WebReact NativeListes

Essayer

Préparation de l’exemple…

Usage minimal

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

Ce qu’il gère pour vous

  • Les autres éléments s’écartent pendant le glisser (reorder="live") ou au relâchement (reorder="drop").
  • Mises en page en liste et en grille avec columns et gap.
  • Déplacements au clavier sur le web, et actions d’accessibilité sur React Native.
  • Contrôlé avec items et onItemsChange, ou non contrôlé avec defaultItems.

À utiliser pour

  • Une playlist.
  • Un backlog priorisé.
  • Une grille de photos.

Props

PropTypeDéfautDescription
itemsreadonly T[]Les éléments, quand vous contrôlez l’ordre.
defaultItemsreadonly T[][]Éléments de départ, quand le composant conserve l’ordre.
onItemsChange(items, { reason, key }) => voidS’exécute avec le nouvel ordre et indique s’il vient d’un glisser, d’un dépôt ou du clavier.
getKey(item) => string | numberitemRenvoie une key unique pour un élément. Par défaut, l’élément lui-même.
renderItem(item, { index, dragging }) => ReactNodeitem.labelDessine un élément ; reçoit son index et s’il est en cours de glisser.
reorder'live' | 'drop''live'live déplace les autres éléments pendant le glisser ; drop attend le dépôt.
layout'list' | 'grid''grid'list ou grid.
columnsnumber3Colonnes d’une grille.
gapnumber12Espace entre les éléments, en pixels.
disabledbooleanfalseDésactive le glisser.
durationnumber260Millisecondes pour les éléments qui s’écartent.
itemClassNamestringClasse de l’élément de chaque item ; itemStyle définit son style en ligne.

Les autres props vont à l’élément rendu : className, style et les gestionnaires d’événements fonctionnent comme d’habitude.

Web et React Native

onItemsChange(items, { reason }) vous dit si un changement vient d’un glisser, d’un dépôt ou du clavier.

Sur React Native, les mêmes props s’appliquent et le réordonnancement est aussi proposé sous forme d’actions d’accessibilité.

Rechercher

Tapez pour rechercher dans la documentation.