Все компоненты

MotionSwipe

Строка с действиями, открывающимися свайпом, и необязательным удалением свайпом.

ВебReact NativeЖесты

Попробуйте

Подготовка примера…

Кратчайшее использование

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

Что он берёт на себя

  • Строка следует за горизонтальным перетаскиванием, сопротивляется за пределами действий и останавливается с учётом скорости отпускания.
  • С dismiss длинный свайп или бросок уводит строку, схлопывает её высоту и затем вызывает onDismiss(side).
  • Вертикальная прокрутка продолжает работать, и открытой остаётся только одна строка.
  • Касание открытой строки закрывает её, а фокус клавиатуры на действии открывает её.

Для чего подходит

  • Архивировать или удалить во входящих.
  • Закрепить беседу.
  • Удалить элемент из списка.

Props

ПропТипПо умолчаниюОписание
childrenReactNodeСодержимое строки.
startActionsReactNodeПоявляются в начале строки при перетаскивании к концу.
endActionsReactNodeПоявляются в конце строки при перетаскивании к началу.
dismiss'start' | 'end' | 'both'Стороны, где длинный свайп или бросок удаляет строку.
onDismiss(side) => voidВыполняется после того, как строка уехала и схлопнулась; удалите элемент из своих данных здесь.
onOpenChange(side | null) => voidВыполняется с открытой стороной или null, когда строка закрывается.
disabledbooleanfalseОтключает свайп.
contentClassNamestringКласс для содержимого строки; contentStyle задаёт его встроенный стиль.
transitionTransitionspringКривая timing { duration, easing } или пружина { tempo: 'spring', spring }. При прерывании пружины сохраняют инерцию.

Остальные props передаются отрендеренному элементу, поэтому className, style и обработчики событий работают как обычно.

Веб и React Native

startActions появляются при перетаскивании к концу строки, endActions — к началу. Задайте содержимому строки фон через contentClassName.

React Native использует те же props и жесты.

Используется в примерах

Поиск

Начните вводить, чтобы искать в документации.