(parentId: string | undefined)
| 60 | |
| 61 | // 递归构建树节点 |
| 62 | const buildTree = (parentId: string | undefined): TreeNode[] => { |
| 63 | return folders |
| 64 | .filter((f) => f.parentFolderId === parentId) |
| 65 | .sort((a, b) => (a.order ?? 0) - (b.order ?? 0)) |
| 66 | .map((folder) => ({ |
| 67 | key: folder.id, |
| 68 | title: folder.name, |
| 69 | icon: <FolderOutlined />, |
| 70 | disabled: excludeSet.has(folder.id), |
| 71 | children: buildTree(folder.id) |
| 72 | })) |
| 73 | .filter((node) => !excludeSet.has(node.key) || (node.children && node.children.length > 0)) |
| 74 | } |
| 75 | |
| 76 | // 根节点 |
| 77 | const rootNode: TreeNode = { |
no test coverage detected