【问题标题】:eCharts Tooltip TypescripteCharts 工具提示打字稿
【发布时间】:2021-07-03 15:39:30
【问题描述】:

我正在使用 eChart v5.0.2 并正在使用 Typescript 自定义工具提示,但似乎无法解决有关格式化程序的此错误。

所以在 function 关键字上,错误消息指出:Type '(params: Format | Format[]) => string | Formatter' 不可分配给类型 'string |格式化程序 |未定义”。

在 params.value 上,错误是:Type '(params: Format | Format[]) => string | Formatter' 不可分配给类型 'string |格式化程序 |未定义”。

感谢您的帮助!

这是我的代码:


            let option: echarts.EChartOption = {
                xAxis: {},
                yAxis: {},
                series: [{
                    symbolSize: 20,
                    data: chartData,
                    type: 'scatter'
                }],
                tooltip: {
                    showDelay: 0,
                    formatter: function (params): (string | echarts.EChartOption.Tooltip.Formatter) {
                       
                        if (params) {
                            let xValue = params.value[0];
                            let yValue = params.value[1];
                            let dttmValue = params.value[2];

                            return xValue + yValue + dttmValue;
                        }

                        return '';
                    },
                },
            };

            option && chart.setOption(option);```

【问题讨论】:

    标签: javascript typescript echarts


    【解决方案1】:

    看起来格式化程序值实际上是一个echarts.EChartOption.Tooltip.Formatter 函数,但在你的格式化程序函数声明中,你实际上是在说你的格式化程序属性是一个返回格式化程序函数的函数。

    : (string | echarts.EChartOption.Tooltip.Formatter) 是您显式声明函数返回类型的部分。我想的不是你想要的。

    看起来您的格式化程序值要符合的类型在https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/echarts/options/tooltip.d.ts#L390 中进行了描述,也就是说它应该是一个返回字符串的函数,所以: string 定义返回值就足够了 - 或者只返回函数中的字符串,Typescript 会推断出它是作为格式化程序的正确函数。

    【讨论】:

      猜你喜欢
      • 2022-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-28
      • 2022-08-07
      • 1970-01-01
      • 2021-11-01
      • 2019-03-25
      相关资源
      最近更新 更多