【他山之石】基于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。
至此完成整个需求的响应。