ComponentĐiều hướng
Bắt đầu nhanh
Import DropdownMenu từ entry công khai. Các ví dụ bên dưới thể hiện những kiểu tương tác và cấu hình được hỗ trợ.
component.tsxtsx
import { DropdownMenu } from '@underverse-ui/underverse';Ví dụ tương tác
Dùng thử DropdownMenu thật, xem mã ví dụ và tra cứu các prop đã được mô tả.
Đang tải ví dụ tương tác…
Tham chiếu
Tham chiếu API
Tra cứu các thuộc tính, kiểu dữ liệu được chấp nhận, giá trị mặc định và lưu ý về hành vi.
Dữ liệu được sinh từ API TypeScript công khai của thư viện. Kiểu dữ liệu, thuộc tính bắt buộc và giá trị mặc định luôn đồng bộ với mã nguồn.
DropdownMenu
Component| Thuộc tính | Mô tả | Kiểu | Mặc định |
|---|---|---|---|
triggerBắt buộc | Phần tử kích hoạt (nút/liên kết). | React.ReactElement | Bắt buộc |
children | Nội dung tuỳ chỉnh (children API). | React.ReactNode | — |
className | Class tuỳ chỉnh cho wrapper. | string | — |
contentClassName | Class tuỳ chỉnh cho panel nội dung. | string | — |
placement | Vị trí quanh trigger. | "top" | "bottom" | "left" | "right" | "top-start" | "bottom-start" | "top-end" | "bottom-end" | "bottom-start" |
closeOnSelect | Đóng sau khi chọn. | boolean | true |
disabled | Vô hiệu hoá mở. | boolean | false |
isOpen | Trạng thái mở (controlled). | boolean | — |
onOpenChange | Hàm thay đổi trạng thái mở. | (open: boolean) => void | — |
openOnHover | Mã nguồn chưa cung cấp mô tả bổ sung. | boolean | false |
hoverCloseDelay | Mã nguồn chưa cung cấp mô tả bổ sung. | number | 120 |
items | Danh sách item (label, icon?, onClick, disabled?, destructive?). | Array<{ label: string; icon?: React.ComponentType<any>; onClick: () => void; disabled?: boolean; destructive?: boolean; }> | — |
borderMode | Mã nguồn chưa cung cấp mô tả bổ sung. | BorderMode | — |
DropdownMenuItem
Component| Thuộc tính | Mô tả | Kiểu | Mặc định |
|---|---|---|---|
children | Nội dung tuỳ chỉnh (children API). | React.ReactNode | — |
label | Mã nguồn chưa cung cấp mô tả bổ sung. | string | — |
description | Mã nguồn chưa cung cấp mô tả bổ sung. | string | — |
icon | Mã nguồn chưa cung cấp mô tả bổ sung. | React.ComponentType<{ className?: string }> | — |
onClick | Mã nguồn chưa cung cấp mô tả bổ sung. | () => void | — |
disabled | Vô hiệu hoá mở. | boolean | — |
destructive | Mã nguồn chưa cung cấp mô tả bổ sung. | boolean | — |
active | Mã nguồn chưa cung cấp mô tả bổ sung. | boolean | — |
shortcut | Mã nguồn chưa cung cấp mô tả bổ sung. | string | — |
className | Class tuỳ chỉnh cho wrapper. | string | — |
closeOnSelect | Đóng sau khi chọn. | boolean | — |
borderMode | Mã nguồn chưa cung cấp mô tả bổ sung. | BorderMode | — |
DropdownMenuSeparator
Component| Thuộc tính | Mô tả | Kiểu | Mặc định |
|---|---|---|---|
className | Class tuỳ chỉnh cho wrapper. | string | — |
SelectDropdown
Component| Thuộc tính | Mô tả | Kiểu | Mặc định |
|---|---|---|---|
optionsBắt buộc | Mã nguồn chưa cung cấp mô tả bổ sung. | string[] | Bắt buộc |
value | Mã nguồn chưa cung cấp mô tả bổ sung. | string | — |
onChangeBắt buộc | Mã nguồn chưa cung cấp mô tả bổ sung. | (value: string) => void | Bắt buộc |
placeholder | Mã nguồn chưa cung cấp mô tả bổ sung. | string | "Select..." |
className | Class tuỳ chỉnh cho wrapper. | string | — |
borderMode | Mã nguồn chưa cung cấp mô tả bổ sung. | BorderMode | — |
size | Mã nguồn chưa cung cấp mô tả bổ sung. | FormControlSize | "md" |
Hướng dẫn sử dụng
Dùng DropdownMenu để làm rõ vị trí hiện tại và các đích có thể đi tới. Giữ hành vi điều hướng của trình duyệt, thứ tự bàn phím và trạng thái hiện tại dễ nhận biết.
Trợ năng
Khi dùng DropdownMenu, hãy giữ trạng thái focus dễ nhận biết, cung cấp tên truy cập khi cần và kiểm tra bàn phím cùng trình đọc màn hình trong ngữ cảnh thực tế.
