إنتقل إلى المحتوى الرئيسي

مرجع API

الوحدة الأساسية: TreeNode<TMetadata>​

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

المحولات​

buildOpenApiTree(document, options?)​

يبني شجرة تنقل OpenAPI.

الخيارالنوعالقيمة الافتراضيةالوصف
showInternalbooleanfalseيعرض العقد المحددة بـ x-internal أو x-scalar-ignore عند التمكين
showComponentsbooleantrueعرض قسم المكونات
showWebhooksbooleantrueعرض webhooks
defaultExpandDepthnumber2عمق التوسيع الافتراضي

أولوية التنقل: وسوم OAS 3.2 المتداخلة الأصلية → x-tagGroups → وسوم مسطحة.

buildSchemaTree(schema, options?)​

الخيارالنوعالقيمة الافتراضيةالوصف
maxDepthnumber8أقصى عمق للتداخل
showDeprecatedbooleantrueعرض الخصائص المهجورة
expandCombinatorsbooleantrueتوسيع oneOf/anyOf/allOf
showArrayItemsbooleantrueتوسيع عناصر المصفوفات

buildDocTree(document, options?)​

شجرة توثيق بأسلوب Stripe تتوسع فيها كل عملية لعرض المعاملات ومتن الطلب والاستجابات.

مكوّن React <Tree />​

الخصائص الأساسية​

الخاصيةالنوعالقيمة الافتراضيةالوصف
nodesTreeNode[]مطلوبالعقد الجذرية المطلوب عرضها
onSelect(node) => void—يُستدعى عند تحديد عقدة
searchablebooleanfalseعرض حقل البحث
defaultExpandDepthnumber1عمق التوسيع الأولي
showExpandAllbooleanfalseزر لتوسيع الكل أو طيه
draggablebooleanfalseتمكين إعادة الترتيب بالسحب والإفلات
onReorder(result: ReorderResult) => void—يُستدعى عند إعادة الترتيب تحت الأصل نفسه
onMove(nodes, movedNode, targetParentId) => void—يُستدعى عند النقل بين المستويات
canDrag(node) => boolean—تحديد العقد القابلة للسحب
canDrop(dragged, target, position) => boolean—تحديد أهداف الإفلات المسموح بها
contextMenuItems(node) => ContextMenuItem[]—عناصر قائمة النقر بزر الفأرة الأيمن
onPatch(ops, context) => void—عمليات تصحيح RFC 6902 عند إعادة الترتيب
maxHeightnumber | string—أقصى ارتفاع قبل التمرير
size"xs" | "sm" | "md""sm"خيار الحجم

التحكم البرمجي (عبر ref)​

الطريقةالوصف
expandAll()توسيع جميع العقد
collapseAll()طي جميع العقد
expandToDepth(depth)التوسيع إلى عمق محدد
getExpandedIds()جلب معرّفات العقد الموسعة حاليًا
getSelectedNode()جلب العقدة المحددة حاليًا
scrollToNode(id)تمرير عقدة إلى المنطقة المرئية
locateNode(predicate)العثور على عقدة وتوسيع أسلافها وتحديدها وإظهارها بالتمرير

الأدوات الأساسية​

الدالةالوصف
findNode(nodes, id)العثور على عقدة بالمعرّف
findPath(nodes, id)العثور على المسار الكامل من الجذر
getLeaves(nodes)جلب جميع العقد الطرفية
countNodes(nodes)عد جميع العقد
filterTree(nodes, { query })التصفية باستعلام البحث
flattenTree(nodes)تحويل الشجرة إلى قائمة باجتياز سابق الترتيب
updateNode(nodes, id, updater)تحديث عقدة دون تعديل البيانات الأصلية
removeNode(nodes, id)إزالة عقدة دون تعديل البيانات الأصلية