Skip to content

Commit 128e2a0

Browse files
fix(tree): fix dynamic tree example and demo not closing children (#11148) #11728
1 parent f31b2f4 commit 128e2a0

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

src/demo-app/tree/dynamic-tree-demo/dynamic-database.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,10 @@ export class DynamicDataSource {
106106
new DynamicFlatNode(name, node.level + 1, this.database.isExpandable(name)));
107107
this.data.splice(index + 1, 0, ...nodes);
108108
} else {
109-
this.data.splice(index + 1, children.length);
109+
let count = 0;
110+
for (let i = index + 1; i < this.data.length
111+
&& this.data[i].level > node.level; i++, count++) {}
112+
this.data.splice(index + 1, count);
110113
}
111114

112115
// notify the change

src/material-examples/tree-dynamic/tree-dynamic-example.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,10 @@ export class DynamicDataSource {
100100
new DynamicFlatNode(name, node.level + 1, this.database.isExpandable(name)));
101101
this.data.splice(index + 1, 0, ...nodes);
102102
} else {
103-
this.data.splice(index + 1, children.length);
103+
let count = 0;
104+
for (let i = index + 1; i < this.data.length
105+
&& this.data[i].level > node.level; i++, count++) {}
106+
this.data.splice(index + 1, count);
104107
}
105108

106109
// notify the change

0 commit comments

Comments
 (0)