Tất cả component

MotionSheet

Sheet đáy, sheet đỉnh hoặc ngăn kéo bên với các điểm dừng, cú hất và chuyển giao cuộn.

WebReact NativeLớp phủ

Thử ngay

Đang chuẩn bị ví dụ…

Cách dùng ngắn nhất

Filters.jsx
<MotionSheet open={open} onOpenChange={setOpen} detents={[0.45, 0.92]}>
  <FilterList />
</MotionSheet>;

Những gì nó xử lý giúp bạn

  • Bám theo thao tác kéo, có lực cản khi vượt điểm dừng lớn nhất và dừng theo tốc độ bạn thả; một cú hất chuyển một điểm dừng hoặc đóng lại.
  • Thao tác kéo cảm ứng được chuyển cho nội dung cuộn: kéo xuống sẽ cuộn nội dung về đầu trước khi sheet di chuyển.
  • Điểm dừng dưới dạng tỉ lệ màn hình, pixel hoặc 'content' theo kích thước tự nhiên của nội dung.
  • Sheet dạng modal giữ focus bên trong, làm trang vô hiệu và đóng bằng Escape hoặc lớp nền.

Dùng cho

  • Bảng bộ lọc.
  • Menu chia sẻ.
  • Ngăn kéo điều hướng với side="start".

Props

PropKiểuMặc địnhMô tả
openbooleanfalseSheet có đang hiển thị hay không.
onOpenChange(open) => voidChạy với false khi sheet bị đóng bằng kéo, chạm hoặc Escape.
detents(number | 'content')[]['content']Kích thước khi nghỉ: tỉ lệ màn hình, pixel hoặc 'content'.
detentnumberIndex điểm dừng được kiểm soát.
defaultDetentnumber0Index điểm dừng dùng khi mở mà không có detent.
onDetentChange(index) => voidChạy với index của điểm dừng nơi sheet dừng lại.
side'bottom' | 'top' | 'start' | 'end''bottom'Cạnh mà sheet xuất hiện từ đó.
modalbooleantrueThêm lớp nền, giữ focus bên trong và làm trang vô hiệu.
dismissiblebooleantrueKéo quá điểm dừng nhỏ nhất, lớp nền và Escape sẽ đóng nó.
backdropClassNamestringClass cho lớp nền; backdropStyle đặt style nội tuyến của nó.
transitionTransitionspringĐườ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.

Web và React Native

Trên web, sheet dạng modal là một dialog native; bảng là một cột flex mà bạn tạo kiểu bằng className.

Trên React Native, nó render trong một Modal trong suốt và nút quay lại sẽ đóng nó. Các ScrollView bên trong giữ cử chỉ riêng, nên sheet được kéo từ tay cầm, phần đầu và các vùng tĩnh khác.

Được dùng trong các ví dụ này

Tìm kiếm

Gõ để tìm trong tài liệu.