Lewati ke konten utama

Referensi API

Inti: TreeNode<TMetadata>​

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

Adaptor​

buildOpenApiTree(document, options?)​

Membangun pohon navigasi OpenAPI.

OpsiTipeNilai bawaanDeskripsi
showInternalbooleanfalseMenampilkan simpul bertanda x-internal atau x-scalar-ignore jika diaktifkan
showComponentsbooleantrueMenampilkan bagian komponen
showWebhooksbooleantrueMenampilkan webhook
defaultExpandDepthnumber2Kedalaman perluasan bawaan

Prioritas navigasi: tag bertingkat bawaan OAS 3.2 → x-tagGroups → tag datar.

buildSchemaTree(schema, options?)​

OpsiTipeNilai bawaanDeskripsi
maxDepthnumber8Kedalaman penyarangan maksimum
showDeprecatedbooleantrueMenampilkan properti usang
expandCombinatorsbooleantrueMemperluas oneOf/anyOf/allOf
showArrayItemsbooleantrueMemperluas item array

buildDocTree(document, options?)​

Pohon dokumentasi bergaya Stripe; tiap operasi diperluas untuk menampilkan parameter, isi permintaan, dan respons.

Komponen React <Tree />​

Prop utama​

PropTipeNilai bawaanDeskripsi
nodesTreeNode[]wajibSimpul akar yang dirender
onSelect(node) => void—Dipanggil saat simpul dipilih
searchablebooleanfalseMenampilkan kolom pencarian
defaultExpandDepthnumber1Kedalaman perluasan awal
showExpandAllbooleanfalseTombol perluas/ciutkan semua
draggablebooleanfalseMengaktifkan pengurutan dengan seret dan lepas
onReorder(result: ReorderResult) => void—Dipanggil saat mengubah urutan di bawah induk yang sama
onMove(nodes, movedNode, targetParentId) => void—Dipanggil saat memindahkan antar tingkat
canDrag(node) => boolean—Mengontrol simpul yang dapat diseret
canDrop(dragged, target, position) => boolean—Mengontrol target pelepasan yang diizinkan
contextMenuItems(node) => ContextMenuItem[]—Item menu klik kanan
onPatch(ops, context) => void—Operasi patch RFC 6902 saat pengurutan
maxHeightnumber | string—Tinggi maksimum sebelum menggulir
size"xs" | "sm" | "md""sm"Varian ukuran

Kontrol imperatif (melalui ref)​

MetodeDeskripsi
expandAll()Memperluas semua simpul
collapseAll()Menciutkan semua simpul
expandToDepth(depth)Memperluas hingga kedalaman tertentu
getExpandedIds()Mengambil ID simpul yang sedang diperluas
getSelectedNode()Mengambil simpul yang dipilih
scrollToNode(id)Menggulir simpul ke area tampilan
locateNode(predicate)Mencari simpul, membuka leluhurnya, memilihnya, dan menggulirnya ke area tampilan

Utilitas inti​

FungsiDeskripsi
findNode(nodes, id)Mencari simpul berdasarkan ID
findPath(nodes, id)Mencari jalur lengkap dari akar
getLeaves(nodes)Mengambil semua simpul daun
countNodes(nodes)Menghitung semua simpul
filterTree(nodes, { query })Memfilter berdasarkan kueri pencarian
flattenTree(nodes)Meratakan menjadi daftar pre-order
updateNode(nodes, id, updater)Memperbarui simpul tanpa mengubah data asli
removeNode(nodes, id)Menghapus simpul tanpa mengubah data asli