public toTreeNode(position: string, level: number): void {
const e = document.querySelectorAll('.container-compare-tree');// 获取dom
const left = e[0];// 左treedom
const right = e[1];// 左treedom
if (level === 1) { // 域节点
if (position === 'left') {
setTimeout(() => {
const element = this._el.nativeElement.querySelector
(`#nodeRight${this.leftShemaid}`);
right?.scrollTo(0, element?.offsetTop - 250);
}, 500);
} else {
setTimeout(() => {
const element = this._el.nativeElement.querySelector
(`#nodeLeft${this.leftShemaid}`);
left?.scrollTo(0, element?.offsetTop - 250);
}, 500);
}
}
}
const copyTree = JSON.parse(JSON.stringify(this.searchDatabaseList));
this.databaseList = copyTree.filter((node) =>
this.filterData(node, (ele) => {
return ele.title.indexOf(this.searchValue) >= 0;
})
);
public filterData(node: any, filter: any): any {
let flag = false;
if (filter(node)) {
flag = true;
} else if (node.children instanceof Array) {
const dataCh = node.children.filter((ele) =>
this.filterData(ele, filter)
);
node.children = dataCh;
if (node.children.length > 0) {
flag = true;
}
}
return flag;
}