eCharts 工具提示打字稿

eCharts Tooltip Typescript

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

因此在函数关键字上,错误消息指出:Type '(params: Format | Format[]) => string | Formatter' 不可分配给类型 'string | Formatter | undefined'.

而在 params.value 上,错误是:Type '(params: Format | Format[]) => string | Formatter' 不可分配给类型 'string | Formatter | undefined'.

非常感谢任何帮助,谢谢!

这是我的代码:


            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);```

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

表示 : (string | echarts.EChartOption.Tooltip.Formatter) 的部分是您显式声明函数的 return 类型的部分。不是你想的那样。

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