antv G2 4.x 版本用registerComponentController函数注册一个slider,并且能把handler变成圆形,也不会有hover效果出现
时间: 2023-07-16 19:15:07 浏览: 171
可以使用以下代码来注册一个 slider,并将 handler 变成圆形:
```javascript
// 注册 slider
G2.registerComponentController('slider', G2.ComponentController.extend({
// ...
}));
// 定义样式
var style = {
fill: '#fff',
stroke: '#ccc',
lineWidth: 1
};
// 将 handler 变成圆形
G2.registerShape('slider', 'handler', {
draw: function(cfg, container) {
var points = this.parsePoints(cfg.points);
var handler = container.addShape('circle', {
attrs: {
x: points[0].x,
y: points[0].y,
r: 8,
...style
}
});
return handler;
}
});
// 禁用 hover 效果
var chart = new G2.Chart({
// ...
});
chart.tooltip(false); // 禁用 tooltip
chart.axis(false); // 禁用坐标轴
chart.legend(false); // 禁用图例
chart.interval().position('a*b'); // 添加 interval(必须有一个图形)
chart.render();
```
其中,slider 的注册与实现需要根据具体需求进行调整。`style` 变量定义了 handler 的样式。`G2.registerShape` 函数用于自定义图形,这里用它将 handler 变成圆形。最后,禁用了 tooltip、坐标轴、图例,并添加了一个 interval 图形,以禁用 hover 效果。
阅读全文