我想知道如何使用onclick()函数和符号在highcharts我正在使用它在Angular ,请告诉我

0vvn1miw  于 2022-11-10  发布在  Highcharts
关注(0)|答案(1)|浏览(184)

我需要做两件事我已经尝试了我所知道的每一种方法。如果我问一些小问题,不要误会我。我只是想知道
下面是我在highcharts中自定义按钮

我的组件.TS文件

textData = 0; //declared outside the function
chartGenerate(){
chart:{......},
yAxis:{.....},
xAxis:{....},
series:[....],
exporting: {
            buttons: {
                contextButton: {
                    menuItems: [.......]
                },
                change:{
                  symbol:'triangle',
                  onclick: function () {
                        this.textData += 1
                    },

            },
               gotit:{
                  text:this.textData
                 },

        },
}

第一件事第二件事

xurqigkl

xurqigkl1#

你可以使用箭头功能来引用上下文上面的这一些属性。

counter = 0;

  constructor() {
    this.chartOptions = {
      exporting: {
        buttons: {
          change: {
            symbol: 'triangle',
            onclick: () => {
              this.counter += 1;
              console.log('change btn, counter:',this.counter)
            }
          },
          gotit: {
            text: `${this.counter}`,
          }
        }
      },
    };
  }

接下来,您的更改必须传递到某个地方,请注意,当您单击它时,您必须通过chartRef(即引用图表引用)更新它。

updateChart(): void {
    this.chartRef.title.update({
      text: 'Title was updated',
    });

    this.chartRef.exporting.update({
        buttons: {
          gotit: {
            text: `${this.counter}`,
          }
        }
    });

  }

在正式的 Package 文件中,你会发现如何在Highcharts中加载导出模块。
勾选此docs选项以进行汇出按钮。
演示:https://stackblitz.com/edit/highcharts-angular-basic-line-gh8gsg
编辑-----
要更改符号旋转,最好的选择是将符号实现为带旋转的自定义形状

Highcharts.SVGRenderer.prototype.symbols.download = function(x, y, w, h) {
  var path = [
    // Arrow stem
    'M', x + w * 0.5, y,
    'L', x + w * 0.5, y + h * 0.7,
    // Arrow head
    'M', x + w * 0.3, y + h * 0.5,
    'L', x + w * 0.5, y + h * 0.7,
    'L', x + w * 0.7, y + h * 0.5,
  ];
  return path;
};

Highcharts.chart('container', {
  exporting: {
    buttons: {
      contextButton: {
        symbol: 'download'
      }
    }
  }

});

应用编程接口:https://api.highcharts.com/highcharts/exporting.buttons.contextButton.symbol
演示:https://jsfiddle.net/BlackLabel/ansk53cy/

相关问题