Maison > Questions et réponses > le corps du texte
P粉8113491122023-09-01 18:38:29
Dans ce cas, l'événement click déclenche finalement un comportement similaire à un "switch".
Par défaut, nous voyons le nœud racine et tous les nœuds enfants de la hiérarchie.
Cliquer sur un anneau avec au moins un nœud enfant (par exemple « A ») filtrera son nœud parent (« Racine ») et son nœud frère (« B ») et traitera visuellement l'anneau comme le nouveau nœud racine, nous seulement la hiérarchie sous l'anneau est visible (c'est-à-dire que le commutateur de filtrage en anneau est activé et l'attribut nextLevel
dans les données d'événement est défini sur « A » en conséquence, par exemple « A est le nouveau nœud racine »).
Cliquer à nouveau sur l'anneau - maintenant l'anneau le plus intérieur - désactive le filtre et les nœuds parents et frères réapparaissent, nextLevel
réglés sur « Root ».
Cliquer sur un anneau sans nœud enfant (par exemple « a » ou « B ») n'a aucun effet, donc dans ce cas nextLevel
n'est pas défini.
En fait, les propriétés nextLevel
reflètent les changements d'état.
Maintenant, pour mieux comprendre ce qui se passe dans le gestionnaire de clics, vous souhaiterez peut-être vérifier currentpath
(ou une version légèrement modifiée pour plus de cohérence) et la présence/valeur de currentpath
(或为了一致性,稍微调整过的版本)以及nextLevel
:
Plotly.newPlot('graph', [{ type: 'sunburst', parents: ['', 'Root', 'Root', 'A'], labels: ['Root', 'A', 'B', 'a'] }]).then(gd => { gd.on('plotly_sunburstclick', data => { const pt = data.points[0] const path = ((pt.currentPath ?? '/') + pt.label).replace('Root', '') console.log('path:', path) // 点击元素的路径 console.log('nextLevel:', data.nextLevel) // 如果有的话,新根节点的标签 }) })