javascript - 如何将 d3.event 作为子模块导入反应应用程序以使用 d3.event.pageX
问题描述
我们的 React 应用大量使用 d3,我们曾经使用import * as d3 from 'd3'
. 为了使我们的包更小,我们将这些替换为子模块导入,例如import { select } from 'd3-selection'
. 但是,我们正在努力导入d3.event
以使用d3.event.pageX
:
这是我们的代码片段:
.on('mouseover', function (d) {
// console.log('d: ', d);
// Tooltip Display + Position + Colors
tipDiv.transition().duration(0).style('opacity', 1);
tipDiv.html(tipHtml(d, tooltipName))
.style('left', (d3.event.pageX - 10) + 'px')
.style('top', (d3.event.pageY + 35) + 'px');
tipDiv
.style('background', colorScale(d.netFgPct7Hex))
.style('color', whiteBlack(colorScale(d.netFgPct7Hex), 'rgb'));
这会引发TypeError: Cannot read property 'pageX' of undefined
有意义的错误,因为通过删除import * as d3 from 'd3'
,我们不再导入 d3.event。似乎没有单独的d3-event
模块,并且 using:import { event} from 'd3-selection'
也不起作用,返回Attempted import error: 'event' is not exported from 'd3-selection'.
那么什么子模块/我们如何导入和使用 d3.event 呢?
编辑:我正在研究 d3.pointer,也许这个帖子不需要 d3.event.pageX
解决方案
推荐阅读
- python - Django 模式:Celery + Async + 模型编写
- database - 设置 VoltDB 集群 IP
- angular - 角度 ng2-chart 甜甜圈:自定义图例“颜色”和“点击”不起作用
- php - php date 函数一遍又一遍地给我相同的时间
- angular - NgIf 如果属性未定义?
- c - 每当我尝试调用特定函数时出现分段错误
- python - NumPy 中结构化数组组的包含测试
- python - 当作为函数属性给出时,类中的列表会发生变化
- java - 更新表中的行导致该行重复
- android - 如何使用异步任务以编程方式检查蓝牙是否已与其他设备连接?