0

我正在使用 amcharts4,我想在点击事件时动态更改工具提示值;我试过这个:

let chart = am4core.create("chartdiv", am4maps.MapChart);
chart.projection = new am4maps.projections.Miller();
let worldSeries = chart.series.push(new am4maps.MapPolygonSeries());
... some code
let worldPolygon = worldSeries.mapPolygons.template;
worldPolygon.tooltipText = '{name}';
worldPolygon.events.on("hit", async function(ev) {
  let destination_actif = await context.$get_destination_actif_by_country_code(code) // api request on hit a country polygon
// condition to check if there is result
  if(!destination_actif.data){
     worldPolygon.tooltipText = 'No result';
  }else{
     worldPolygon.tooltipText = 'With result';
  }
}

在点击请求 api 之后,我想根据结果条件更改工具提示值,但是在这里,当我console.log工具提示时,值发生了变化,但是在将多边形悬停时,值仍然相同"{name}"

4

1 回答 1

0

所以我发现有什么问题,在我之前的代码中我试图改变整个工具提示,它是错误的方式;我只需要更改目标工具提示,所以我这样做了:

worldPolygon.events.on("hit", async function(ev) {
  let destination_actif = await context.$get_destination_actif_by_country_code(code) 
  let target = ev.target
  if(!destination_actif.data){
     target.tooltipText = 'No result';
  }else{
     target.tooltipText = 'With result';
  }
于 2021-07-28T12:33:10.767 回答