Ich habe einige Probleme mit dem Hinzufügen von Knoten dynamisch in meinem zusammenklappbaren Force-Layout. Mein Datensatz wird dynamisch erstellt, so dass sich das Objekt jedes Mal ändert, wenn das Force-Layout erstellt wird. Daher habe ich ein Beispiel aus einem D3-Mobostock verwendet, bei dem ein lokales Objekt verwendet wurde, anstatt einen JSON als Startpunkt zu laden.D3 Collapsible Force Layout Hinzufügen von Knoten zum Layout dynamisch
Ich habe Pan + Zoom hinzugefügt, aber das Hinzufügen eines Knotens scheint nicht zu funktionieren. Ich habe ein statisches Objekt (zu Testzwecken) und meine addNode-Funktion wird beim Klick auf einen Knoten aufgerufen. Ich versuche, die Knoten hinzuzufügen durch: var childrenTest=[ {"name": "Title", "size": 3938}, {"name": "Title", "size": 3938}, {"name": "Title", "size": 3938} ];
g.data.children[1].children = childrenTest;
und dann die update();
ausgeführt, die die Daten zum Zusammenlegen und schaffen Verbindungen zwischen den Knoten vor dem Update um sie glätten soll.
Leider scheint es, dass wenn ich dies tue, es bricht vollständig meine Grafik erstellen einen schwebenden Cluster Offset von meinem Haupt-Graphen und Links und Knoten fehlen. Ich habe mich gefragt, ob ich Hilfe bekommen könnte, um herauszufinden, warum die Knoten nicht richtig hinzugefügt werden. Hier
ist ein Beispiel für meinen Code: https://jsfiddle.net/Diffusion_net/hu6t2ywb/9/
(Hinweis: Die addnode Funktion wird nur den Knoten auf kinderlos Knoten Klick einmal hinzufügen, aufgrund der Prüfung für Testzwecke)
Danke