Apache ECharts trigger属性类型不兼容,疑EChartOption类型定义有误?
问题分析与解决方案
这不是ECharts类型定义的错误,问题出在TypeScript的类型推断机制上:
当你直接编写{ trigger: 'axis' }时,TypeScript会自动把trigger的类型推断为宽泛的string,但ECharts的TooltipOption中,trigger被定义为字面量联合类型:"axis" | "item" | "none" | undefined,普通string类型无法匹配这个严格的字面量类型,因此抛出类型不兼容的错误。
解决方法(任选其一)
- 使用
as const断言锁定字面量类型
testOptions: EChartsOption = Object.assign( {}, { backgroundColor: 'red', tooltip: { trigger: 'axis' as const, }, } );
- 将tooltip对象断言为
TooltipOption
testOptions: EChartsOption = Object.assign( {}, { backgroundColor: 'red', tooltip: { trigger: 'axis', } as TooltipOption, } );
- 提前声明tooltip变量并指定类型
const tooltipConfig: TooltipOption = { trigger: 'axis', }; testOptions: EChartsOption = Object.assign( {}, { backgroundColor: 'red', tooltip: tooltipConfig, } );
内容的提问来源于stack exchange,提问作者Ole
相关产品推荐
相关产品推荐

