validatevalidate 方法用于验证树的结构是否有效。它主要检查两个问题:
id。import { Tree } from '@movk/core'
// 有效的树
const validTree = [{ id: 1, children: [{ id: 2 }] }]
Tree.validate(validTree) // 不会抛出错误
// 无效的树 (重复ID)
const invalidTree1 = [{ id: 1 }, { id: 1 }]
try {
Tree.validate(invalidTree1)
}
catch (e) {
console.error(e.message) // "Duplicate ID found: 1"
}
// 无效的树 (循环引用)
const node1 = { id: 1 }
const node2 = { id: 2, children: [node1] }
node1.children = [node2]
const invalidTree2 = [node1]
try {
Tree.validate(invalidTree2)
}
catch (e) {
console.error(e.message) // "Circular reference detected in node ID: 2"
}
validate<T extends TreeNode>(tree: T[], config?: TreeConfig): void
id, pid, children 键名的配置对象。如果树结构无效,此方法会抛出一个 Error。