我试图将一个节点拖到一个图形组件中并将其拖放到detailsContainer组件中(以便通过简单的拖放来更改节点的数据),但是我找不到将节点取出的方法图组件的详细信息(以及详细信息之一)。
如您所见,所选节点(具有蓝色形状的节点)在详细信息组件下,我希望将其结束。 拖动的代码在这里:
export function addDragEvents(simulation, nodesSelection) {
nodesSelection.call(d3.drag() // eslint-disable-line prefer-reflect
.on("start", dragStarted)
.on("drag", dragging)
.on("end", dragEnded));
function dragStarted(node) {
if (!d3.event.active) {
simulation.alphaTarget(0.2).restart();
}
node.fx = node.x; // eslint-disable-line no-param-reassign
node.fy = node.y; // eslint-disable-line no-param-reassign
}
function dragging(node) {
node.fx = d3.event.x; // eslint-disable-line no-param-reassign
node.fy = d3.event.y; // eslint-disable-line no-param-reassign
}
function dragEnded(node) {
if (!d3.event.active) {
simulation.alphaTarget(0);
}
Reflect.deleteProperty(node, "fx");
Reflect.deleteProperty(node, "fy");
}
}
那么,解决此问题的最佳解决方案是什么?
谢谢