Tất cả component
MotionSwipe
Một hàng có thao tác hiện ra khi vuốt và tùy chọn vuốt để loại bỏ.
WebReact NativeCử chỉ
Thử ngay
Cách dùng ngắn nhất
Row.jsx<MotionSwipe
endActions={<button onClick={() => archive(id)}>Archive</button>}
dismiss="end"
onDismiss={() => remove(id)}
>
<MessagePreview />
</MotionSwipe>;
Những gì nó xử lý giúp bạn
- Hàng bám theo thao tác kéo ngang, có lực cản khi kéo quá phần thao tác và dừng theo tốc độ bạn thả.
- Với
dismiss, vuốt dài hoặc hất mạnh sẽ trượt hàng ra, thu gọn chiều cao rồi gọi onDismiss(side). - Cuộn dọc vẫn hoạt động, và chỉ một hàng được mở.
- Chạm vào hàng đang mở sẽ đóng nó, và focus bàn phím vào một thao tác sẽ làm nó hiện ra.
Dùng cho
- Lưu trữ hoặc xóa trong hộp thư.
- Ghim một cuộc trò chuyện.
- Xóa một mục khỏi danh sách.
Props
| Prop | Kiểu | Mặc định | Mô tả |
|---|
children | ReactNode | | Nội dung của hàng. |
|---|
startActions | ReactNode | | Hiện ở đầu dòng khi hàng bị kéo về phía cuối. |
|---|
endActions | ReactNode | | Hiện ở cuối dòng khi hàng bị kéo về phía đầu. |
|---|
dismiss | 'start' | 'end' | 'both' | | Các phía mà vuốt dài hoặc hất sẽ xóa hàng. |
|---|
onDismiss | (side) => void | | Chạy sau khi hàng trượt ra và thu gọn; hãy xóa mục khỏi dữ liệu của bạn tại đây. |
|---|
onOpenChange | (side | null) => void | | Chạy với phía đang mở, hoặc null khi hàng đóng lại. |
|---|
disabled | boolean | false | Tắt vuốt. |
|---|
contentClassName | string | | Class cho nội dung hàng; contentStyle đặt style nội tuyến của nó. |
|---|
transition | Transition | spring | Đường cong timing { duration, easing } hoặc lò xo { tempo: 'spring', spring }. Lò xo giữ đà khi bị ngắt. |
|---|
Các props khác được chuyển tới phần tử được render, nên className, style và trình xử lý sự kiện hoạt động như bình thường.
Được dùng trong các ví dụ này