Nested tree does not correctly update
- Lingua principale
- TypeScript
- Stelle
- 25k
- Fork
- 6.8k
- Merge medio
- 1g 8h
- PR unite (30g)
- 91
Descrizione
#### Bug, feature request, or proposal:
Bug
#### What is the expected behavior?
Adding a node to the tree and firing a change event should update the tree
#### What is the current behavior?
The tree does not update
#### What are the steps to reproduce?
[StackBlitz link](https://stackblitz.com/edit/angular-kowmq5-pmrkej?file=app/tree-nested-overview-example.ts) line 123
Open the example, and within 10 seconds expand the Applications node.
The following code should add a node, and the node should be displayed:
```ts
database.dataChange.subscribe(data => {
this.nestedDataSource.data = data;
console.log(data); // <-- see screenshot below
});
console.log('Please expand the Applications node within 10 seconds');
setTimeout(() => {
const data = this.nestedDataSource.data;
for (let node of data) {
if (node.filename == "Applications") {
const newnode = new FileNode();
newnode.filename = "ghost";
newnode.type = "gs";
node.children.push(newnode);
console.log("Added component");
}
}
// force change
console.log("Forcing change");
database.dataChange.next(data); // <-- firing event here
}, 10000);
```
After ten seconds the console correctly logs the added component:

But the view does not update:

#### What is the use-case or motivation for changing an existing behavior?
I would expect the tree to mirror the underlying data model.
#### Which versions of Angular, Material, OS, TypeScript, browsers are affected?
It happens on chrome, with the latest version of the library.
#### Is there anything else we should know?
Sorry I could not make the example autoexpand (please see #13027 on why)
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia da app/tree-nested-overview-example.ts alla riga 123 e riproduci il problema espandendo Applications prima dell’aggiornamento ritardato. Traccia come vengono gestiti nestedDataSource.data e database.dataChange dopo l’aggiunta del nodo figlio. Il lavoro è completato quando la vista visualizza il nuovo nodo fantasma all’attivazione dell’evento di modifica.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- angular, typescript
- Ambito
- frontend
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100