vue.js - 单击事件不适用于 ApexCharts (Vue3)

标签 vue.js vuejs3 apexcharts

每当有人点击我的图表或其中一个条形时,我都需要触发一个事件,但由于某些原因,事件不会为我触发。
这是我的代码:

<apexchart type="rangeBar" :options="chartOptions" class="ganttChart" :series="series"></apexchart>
我的设置:
setup() {
 const series = [
            {
              name: 'Sunny',
              data: [
                {
                  x: 'Weather',
                  y: [
                    new Date('2019-03-05').getTime(),
                    new Date('2019-03-08').getTime()
                  ]
                },
              ]
            },
            {
              name: 'Rainy',
              data: [
                {
                  x: 'Weather',
                  y: [
                    new Date('2019-03-02').getTime(),
                    new Date('2019-03-05').getTime()
                  ]
                },
              ]
            }
          ];

  const chartOptions = {
            chart: {
                events: {
                    click: function(event, chartContext, config) {
                        alert(event, chartContext, config);
                    }
                },
              height: 400,
              width: 400,
              type: 'rangeBar',
              
            },
            plotOptions: {
              bar: {
                horizontal: true
              }
            },
            
            fill: {
              type: 'gradient',
              gradient: {
                shade: 'light',
                type: 'vertical',
                shadeIntensity: 0.25,
                gradientToColors: undefined,
                inverseColors: true,
                opacityFrom: 1,
                opacityTo: 1,
                stops: [50, 0, 100, 100]
              }
            },
            xaxis: {
              type: 'datetime'
            },
            legend: {
              position: 'top'
            }
          };

         return { 
              series, chartOptions 
              }
    }
我也试过使用 dataPointSelection 事件,但没有效果。
除了事件之外,我的图表显示和工作得很好。

最佳答案

我也为此苦苦挣扎,直到我找到了一些可行的方法。您可以使用 @click像这样:

<apexchart type="rangeBar" :options="chartOptions" class="ganttChart" :series="series" @click="clickHandler"></apexchart>
然后定义 clickHandler在您的方法中:
methods: {
    clickHandler(event, chartContext, config){
        console.log("click")
        console.log(event)
        console.log(chartContext)
        console.log(config)
    },

关于vue.js - 单击事件不适用于 ApexCharts (Vue3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67329343/

相关文章:

node.js - Vue定义index.html文件在哪里

javascript - 将 react 状态从 Vuex 传递到可组合项

charts - 如何将顶点图表中的 x 轴设置为零?

vue.js - 浏览器控制台中的错误,对/sockjs-node/info的请求?t = 1555629946494

javascript - 如何让 Nuxt.js 接受 `/` 和 `/index.html` URL?

javascript - Vuetify 中是否有特定的数字输入组件?

debugging - 如何在 lan --host 上调试 Vue 3 Vite

vue.js - 如何将 Vue 鼠标事件与组合 api 一起使用?

javascript - React this.props 在状态事件中未定义?

reactjs - 无法在 React apex-chart 中将时间戳转换为小时、分钟和秒