fix: stabilize knowledge compilation navigation updates (#17345)

This commit is contained in:
buua436
2026-07-24 17:48:27 +08:00
committed by GitHub
parent 1f97823ee3
commit 2ba7ccecaf
12 changed files with 181 additions and 76 deletions

View File

@@ -23,6 +23,7 @@ export interface TreeDataItem {
selectedIcon?: any;
openIcon?: any;
children?: TreeDataItem[];
hasChildren?: boolean;
actions?: React.ReactNode;
onClick?: () => void;
}
@@ -142,7 +143,8 @@ const TreeItem = React.forwardRef<HTMLDivElement, TreeItemProps>(
<ul>
{data.map((item) => (
<li key={item.id}>
{item.children && item.children.length > 0 ? (
{item.hasChildren ||
(item.children && item.children.length > 0) ? (
<TreeNode
item={item}
selectedItemId={selectedItemId}
@@ -216,7 +218,7 @@ const TreeNode = ({
</AccordionTrigger>
<AccordionContent className="ml-4 pl-1 border-l">
<TreeItem
data={item.children ? item.children : item}
data={item.children ?? []}
selectedItemId={selectedItemId}
handleSelectChange={handleSelectChange}
expandedItemIds={expandedItemIds}

View File

@@ -29,6 +29,7 @@ export function buildNavTreeData(
const item: TreeDataItem = {
id: node.name,
name: node.name,
hasChildren: node.has_children,
actions: getActions?.(node, null),
onClick: () => onParentClick(node),
};
@@ -39,6 +40,7 @@ export function buildNavTreeData(
item.children = children.map((child) => ({
id: `${node.name}/${child.name}`,
name: child.name,
hasChildren: child.has_children,
actions: getActions?.(child, node.name),
onClick: () => onChildClick(child, node.name),
}));