vue中echarts纵轴添加点击事件

在这里插入图片描述

直接上代码
initChart () {
            this.ganttChart = echarts.init(document.getElementById('gantt-chart'))
            const _self = this
            const chartOption = {
                title: {
                    text: '项目进度表',
                    left: 10
                },
                grid: {
                    containLabel: true,
                    left: 20
                },
                xAxis: {
                    type: 'time'
                },
                yAxis: {
                    triggerEvent: true, // 默认为false, 不可点击
                    data: this.chartData.map(item => item.node)
                },
                tooltip: {
                    trigger: 'axis',
                    formatter: function (params) {
                        var res = '节点周期:' + '</br>'
                        var date0 = params[0].data && _self.$utils.stringToDateString(params[0].data, false, '-')
                        var date1 = params[1].data && _self.$utils.stringToDateString(params[1].data, false, '-')
                        res += date0 + '-' + date1
                        return res
                    }
                },
                series: [
                    {
                        name: '实际开始时间',
                        type: 'bar',
                        stack: 'timeout',
                        itemStyle: {
                            normal: {
                                color: 'rgba(0,0,0,0)'
                            }
                        },
                        lineStyle: {},
                        data: this.chartData.map(item => item.startTime)
                    },
                    {
                        name: '超时',
                        type: 'bar',
                        stack: 'timeout',
                        barWidth: 14, // 柱宽度
                        itemStyle: {
                            normal: {
                                barBorderRadius: 25, // 柱圆角
                                color: function (params) {
                                    let color = ''
                                    var item = _self.chartData.filter(item => { return item.node === params.name })
                                    var status = item && item[0] && item[0].status
                                    // console.log('====', status)
                                    // status 1 待完成 2 已完成 3 延期
                                    color = status === 1 ? '#d4cece' : (status === 2 ? '#3E84E9' : '#c23531')
                                    return color
                                }
                            }
                        },
                        data: this.chartData.map(item => item.stopTime)
                    }
                ]
            }
            this.ganttChart.setOption(chartOption) // 第二个参数:true: 是否和之前设置的option进行合并,true为不合并,默认为false:合并
            this.ganttChart.on('click', (params) => { // 监听点击事件,此图只给纵轴添加了点击事件,所以不需要判断
                console.log('点击纵轴', params)
                // 代码逻辑todo
            })
            this.resizeCharts()
        },
划重点:

option 里的 yAxis 属性 设置 triggerEvent: true, // 默认为false, 不可点击
图表添加click点击事件this.ganttChart.on(‘click’, (params) => {})

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值