在另一个论坛中,我发现这段代码对我有用:
var chart = new Chartist.Bar('.ct-chart', {
labels: ['Test', 'Long test', 'Very long test'],
series: [[1, 5, 3]]
});
// Uncomment this line to test rendering without foreign objects
//chart.supportsForeignObject = false;
chart.on('draw', function(event) {
// If the draw event is for labels on the x-axis
if(event.type === 'label' && event.axis.units.pos === 'x') {
// If foreign object is NOT supported, we need to fallback to text-anchor and event.width / 2 offset.
if(!chart.supportsForeignObject) {
event.element.attr({
x: event.x + event.width / 2,
'text-anchor': 'middle'
});
}
}
});
用这解决的特殊问题并不重要。我的问题是我不使用new Chartist.Bar
来声明一个新的图表组件,因为我使用的是反应图表:
<ChartistGraph
data={graphData}
options={graphOptions}
type={type}
/>
所以我不能像在示例中那样对onDraw事件做出反应。 是否可以将函数绑定到onDraw事件?我试过这样的事情:
<ChartistGraph
onDraw={e => onDrawHandler(e)}
data={graphData}
options={graphOptions}
type={type}
/>
哪个不起作用。
答案 0 :(得分:1)
使用listener
道具:
<ChartistGraph
listener={{
draw: e => onDrawHandler(e)
}}
data={graphData}
options={graphOptions}
type={type}
/>