如果 xUnits 不是 dc.units.ordinal,条形图中的可点击条形
Clickable bars in bar charts if xUnits is not dc.units.ordinal
dc.js 仅允许序数值的可点击条形图
来自 dc.js:
if (_chart.isOrdinal())
bars.on("click", _chart.onClick);
我尝试了以下并得到了 Uncaught TypeError: Cannot read 属性 'isFiltered' of undefined at dc.js
chart.renderlet(function(_chart){
_chart.selectAll("rect.bar").on("click", _chart.onClick);
});
https://github.com/dc-js/dc.js/issues/168 建议实现自定义 onClick 处理程序,但我不确定其内容应该是什么。
听说这个错误已经有一段时间了,终于找到了。使用 .on("click", _chart.onClick)
的建议通常是好的,但由于某种原因,条形图的 onClick
版本变得私有,它被打破了。 (有关详细信息,请参阅我在上述问题中的评论。)
两种可能的解决方案:
- 像这样定义你的 renderlet(hacky 解决方法):
chart.renderlet(function(_chart){
_chart.selectAll("rect.bar").on("click", function(d) {
_chart.onClick(d.data);
});
});
- 更新至 dc.js 2.0.0-beta.4,此问题已修复,您发布的原始代码应该可以使用。
dc.js 仅允许序数值的可点击条形图 来自 dc.js:
if (_chart.isOrdinal())
bars.on("click", _chart.onClick);
我尝试了以下并得到了 Uncaught TypeError: Cannot read 属性 'isFiltered' of undefined at dc.js
chart.renderlet(function(_chart){
_chart.selectAll("rect.bar").on("click", _chart.onClick);
});
https://github.com/dc-js/dc.js/issues/168 建议实现自定义 onClick 处理程序,但我不确定其内容应该是什么。
听说这个错误已经有一段时间了,终于找到了。使用 .on("click", _chart.onClick)
的建议通常是好的,但由于某种原因,条形图的 onClick
版本变得私有,它被打破了。 (有关详细信息,请参阅我在上述问题中的评论。)
两种可能的解决方案:
- 像这样定义你的 renderlet(hacky 解决方法):
chart.renderlet(function(_chart){ _chart.selectAll("rect.bar").on("click", function(d) { _chart.onClick(d.data); }); });
- 更新至 dc.js 2.0.0-beta.4,此问题已修复,您发布的原始代码应该可以使用。