Tous les composants

MotionSwipe

Une ligne avec des actions révélées au balayage et une suppression au balayage facultative.

WebReact NativeGestes

Essayer

Préparation de l’exemple…

Usage minimal

Row.jsx
<MotionSwipe
  endActions={<button onClick={() => archive(id)}>Archive</button>}
  dismiss="end"
  onDismiss={() => remove(id)}
>
  <MessagePreview />
</MotionSwipe>;

Ce qu’il gère pour vous

  • La ligne suit les glisser horizontaux, résiste au-delà de ses actions et se pose selon la vitesse de relâchement.
  • Avec dismiss, un long balayage ou un lancer fait sortir la ligne, replie sa hauteur puis appelle onDismiss(side).
  • Le défilement vertical continue de fonctionner, et une seule ligne reste ouverte à la fois.
  • Un appui sur une ligne ouverte la referme, et le focus clavier sur une action la révèle.

À utiliser pour

  • Archiver ou supprimer dans une boîte de réception.
  • Épingler une conversation.
  • Retirer un élément d’une liste.

Props

PropTypeDéfautDescription
childrenReactNodeLe contenu de la ligne.
startActionsReactNodeRévélées au début de la ligne quand on la fait glisser vers la fin.
endActionsReactNodeRévélées à la fin de la ligne quand on la fait glisser vers le début.
dismiss'start' | 'end' | 'both'Côtés où un long balayage ou un lancer supprime la ligne.
onDismiss(side) => voidS’exécute une fois la ligne sortie et repliée ; retirez ici l’élément de vos données.
onOpenChange(side | null) => voidS’exécute avec le côté ouvert, ou null quand la ligne se ferme.
disabledbooleanfalseDésactive le balayage.
contentClassNamestringClasse du contenu de la ligne ; contentStyle définit son style en ligne.
transitionTransitionspringUne courbe de temps { duration, easing } ou un ressort { tempo: 'spring', spring }. Les ressorts gardent leur élan quand ils sont interrompus.

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

Web et React Native

Les startActions apparaissent quand on fait glisser vers la fin de la ligne, les endActions vers le début. Donnez un fond au contenu de la ligne avec contentClassName.

React Native utilise les mêmes props et les mêmes gestes.

Utilisé dans ces exemples

Rechercher

Tapez pour rechercher dans la documentation.