我知道我可以用鼠标控制zoompan的行为,就像这样。
chart.cursor = new am4charts.XYCursor();
chart.cursor.xAxis = dateAxis;
chart.cursor.yAxis = valueAxis;
chart.cursor.wheelable = true;
chart.cursor.behavior = 'panXY';
chart.mouseWheelBehavior = 'zoomXY';
这将使图表在鼠标滚轮上放大,在拖动时移动。我想让图表在按下CTRL键时,如果使用鼠标滚轮,也能向左向右移动(滚动)。所以,我想让图表在按CTRL键时,如果使用鼠标滚轮,也向左向右移动(滚动)。
这是否有某种可能?
好吧,我设法通过在包装div中添加一些事件处理程序来实现。
<div
onMouseOut={e => {
chart.mouseWheelBehavior = 'zoomXY';
}}
onMouseOver={e => {
chart.mouseWheelBehavior = e.ctrlKey ? 'panX' : 'zoomXY';
}}
onWheel={e => {
chart.mouseWheelBehavior = e.ctrlKey ? 'panX' : 'zoomXY';
}}>
<div className={styles.chartWrapper} ref={containerRef}>
</div>
</div>