【他山之石】基于Echarts表格的时间线组件触发时间变化事件
- 1 背景
- 2 调整思路
- 3 函数监听
1 背景
在开发中遇到一个场景:要展示的数据随着时间的变化发生改变,有以下几点要求的的时间线。
- 水平方向
- 可以切换时间变化,带播放按钮
- 时间节点背景图片可以更换
查询了以下几种解决方案。
- element的Timeline 时间线
这种方法中的时间线方向只能是垂直的。 - Vue时间轴组件
这种方向上虽然满足,但是时间节点背景图片不能更换。 - CSS样式写出的时间线
样式比较难看,需要调整,而且背景图片不能更换 - Echarts的Timeline
看了该部件的option选项,上述需求均满足,但是数据显示这块需要进行调整。
2 调整思路
下图展示的是带有时间线部件的示例,我们的需求就只是下方的一条时间轴,不需要显示其它元素,因此就对属性做一定的配置,规避掉图表。
配置项为:
baseOption: {
timeline: {
axisType: 'category',
realtime: true,
autoPlay: false,
currentIndex: 0,
playInterval: 2000,
controlStyle: {
showPlayBtn: false
},
data: [
'2022-06',
'2022-08',
'2023-04',
'2023-05'
],
label: {
color: '#FFFFFF'
},
lineStyle:{
color: '#DAE1F5',
width: 2
}
},
xAxis: [
{
show: false,
type: 'category',
axisLabel: { interval: 0 }
}
],
yAxis: [
{
type: 'value',
}
],
series: [
]
}
3 函数监听
查找监听函数的API在此。
时间轴中的时间点改变后的事件如下。当点击前进按钮时,数据触发条件1;当点击后退按钮时,数据触发条件2。
至此完成整个需求的响应。