javascript - eCharts 工具提示打字稿
问题描述
我正在使用 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);```
解决方案
看起来格式化程序值实际上是一个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 会推断它是作为格式化程序的正确函数。
推荐阅读
- numpy - 如何用 numpy 向量化 out[i] = a[i+1] - a[i-1]?
- statistics - 如何确定 2 个度量变量的相关性?
- c# - 如何在 C# .Net 中使用 TcpClient 和 TcpListener 连接同一服务器上的多个客户端
- c# - 具有属性的可能相交范围列表的更清晰算法
- python - 如何找到熊猫中每种动物类型的优先级总和?
- amazon-web-services - 为什么我的 AWS lb 目标组处于“耗尽”状态?
- php - PHP-fpm 7.4 & 高负载
- javascript - 在 JS 中的计算器显示上复制大数字
- android - 崩溃:ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION
- go - discord.go:从会员那里获得权限