Toate componentele
MotionSwipe
Un rând cu acțiuni dezvăluite prin glisare și respingere opțională prin glisare.
WebReact NativeGesturi
Încercați
Cea mai scurtă utilizare
Row.jsx<MotionSwipe
endActions={<button onClick={() => archive(id)}>Archive</button>}
dismiss="end"
onDismiss={() => remove(id)}
>
<MessagePreview />
</MotionSwipe>;
Ce rezolvă în locul dumneavoastră
- Rândul urmează tragerile orizontale, opune rezistență după acțiuni și se așază cu viteza eliberării.
- Cu
dismiss, o glisare lungă sau o aruncare scoate rândul, îi restrânge înălțimea și apoi apelează onDismiss(side). - Derularea verticală continuă să funcționeze și rămâne deschis un singur rând.
- O atingere pe un rând deschis îl închide, iar focusul de tastatură pe o acțiune o dezvăluie.
Folosiți-o pentru
- Arhivare sau ștergere într-un inbox.
- Fixarea unei conversații.
- Eliminarea unui element dintr-o listă.
Props
| Prop | Tip | Implicit | Descriere |
|---|
children | ReactNode | | Conținutul rândului. |
|---|
startActions | ReactNode | | Dezvăluite la începutul rândului când rândul e tras spre capăt. |
|---|
endActions | ReactNode | | Dezvăluite la capătul rândului când rândul e tras spre început. |
|---|
dismiss | 'start' | 'end' | 'both' | | Părțile în care o glisare lungă sau o aruncare elimină rândul. |
|---|
onDismiss | (side) => void | | Rulează după ce rândul a ieșit și s-a restrâns; eliminați aici elementul din date. |
|---|
onOpenChange | (side | null) => void | | Rulează cu partea deschisă sau cu null când rândul se închide. |
|---|
disabled | boolean | false | Dezactivează glisarea. |
|---|
contentClassName | string | | Clasă pentru conținutul rândului; contentStyle îi setează stilul inline. |
|---|
transition | Transition | spring | O curbă timing { duration, easing } sau un arc { tempo: 'spring', spring }. Arcurile își păstrează impulsul când sunt întrerupte. |
|---|
Celelalte props merg la elementul randat, așa că className, style și handlerele de evenimente funcționează ca de obicei.
Folosită în aceste exemple