Chuyển tới nội dung chính

Tài liệu tham khảo API

Lõi: TreeNode<TMetadata>​

interface TreeNode<TMetadata = unknown> {
id: string;
name: string;
order?: number;
children?: TreeNode<TMetadata>[];
metadata?: TMetadata;
}

Bộ điều hợp​

buildOpenApiTree(document, options?)​

Tạo cây điều hướng OpenAPI.

Tùy chọnKiểuMặc địnhMô tả
showInternalbooleanfalseHiện các nút có x-internal hoặc x-scalar-ignore khi bật
showComponentsbooleantrueHiện phần thành phần
showWebhooksbooleantrueHiện webhook
defaultExpandDepthnumber2Độ sâu mở rộng mặc định

Ưu tiên điều hướng: thẻ lồng nhau gốc của OAS 3.2 → x-tagGroups → thẻ phẳng.

buildSchemaTree(schema, options?)​

Tùy chọnKiểuMặc địnhMô tả
maxDepthnumber8Độ sâu lồng nhau tối đa
showDeprecatedbooleantrueHiện thuộc tính không còn được khuyến nghị
expandCombinatorsbooleantrueMở rộng oneOf/anyOf/allOf
showArrayItemsbooleantrueMở rộng phần tử mảng

buildDocTree(document, options?)​

Cây tài liệu kiểu Stripe, mỗi thao tác mở rộng để hiện tham số, nội dung yêu cầu và phản hồi.

Thành phần React <Tree />​

Thuộc tính chính​

Thuộc tínhKiểuMặc địnhMô tả
nodesTreeNode[]bắt buộcCác nút gốc cần hiển thị
onSelect(node) => void—Được gọi khi chọn nút
searchablebooleanfalseHiện ô tìm kiếm
defaultExpandDepthnumber1Độ sâu mở rộng ban đầu
showExpandAllbooleanfalseNút mở rộng/thu gọn tất cả
draggablebooleanfalseBật sắp xếp lại bằng kéo thả
onReorder(result: ReorderResult) => void—Được gọi khi sắp xếp lại trong cùng nút cha
onMove(nodes, movedNode, targetParentId) => void—Được gọi khi chuyển giữa các cấp
canDrag(node) => boolean—Kiểm soát nút có thể kéo
canDrop(dragged, target, position) => boolean—Kiểm soát vị trí thả được phép
contextMenuItems(node) => ContextMenuItem[]—Mục trong menu nhấp chuột phải
onPatch(ops, context) => void—Thao tác bản vá RFC 6902 khi sắp xếp lại
maxHeightnumber | string—Chiều cao tối đa trước khi cuộn
size"xs" | "sm" | "md""sm"Tùy chọn kích thước

Điều khiển bằng lệnh (qua ref)​

Phương thứcMô tả
expandAll()Mở rộng mọi nút
collapseAll()Thu gọn mọi nút
expandToDepth(depth)Mở rộng đến độ sâu chỉ định
getExpandedIds()Lấy ID các nút đang mở rộng
getSelectedNode()Lấy nút đang được chọn
scrollToNode(id)Cuộn nút vào vùng hiển thị
locateNode(predicate)Tìm nút, mở rộng tổ tiên, chọn và cuộn vào vùng hiển thị

Tiện ích lõi​

HàmMô tả
findNode(nodes, id)Tìm nút theo ID
findPath(nodes, id)Tìm đường dẫn đầy đủ từ gốc
getLeaves(nodes)Lấy mọi nút lá
countNodes(nodes)Đếm mọi nút
filterTree(nodes, { query })Lọc theo truy vấn tìm kiếm
flattenTree(nodes)Làm phẳng thành danh sách duyệt tiền thứ tự
updateNode(nodes, id, updater)Cập nhật nút mà không sửa dữ liệu gốc
removeNode(nodes, id)Xóa nút mà không sửa dữ liệu gốc