类型“字符串”不可分配给类型“图表类型”
Posted
技术标签:
【中文标题】类型“字符串”不可分配给类型“图表类型”【英文标题】:Type 'string' is not assignable to type 'ChartType' 【发布时间】:2022-01-17 23:03:07 【问题描述】:html文件
<div style="width: 100%; display: block">
<canvas
*ngIf="loaded"
baseChart
[data]="barChartData"
[labels]="barChartLabels"
[options]="barChartOptions"
[legend]="barChartLegend"
[chartType]="barChartType"
>
</canvas>
</div>
ts.文件
barChartOptions: any =
scaleShowVerticalLines: false,
responsive: true
;
barChartLabels: string[] =[];
barChartType: string = 'horizontalBar';
barChartLegend: boolean = true;
barChartData: any[] =[];
loaded = false;
this.service.Salescount(form).subscribe((data) =>
this.name = data.result;
this.barChartLabels = this.name.map((item) => item.name);
this.barChartData = this.name.map((item) => item.sales);
this.loaded = true;
)
barchart.labels 和 barchartdata 中有 4 个值。运行时出现错误,因为“类型'字符串'不可分配给类型'ChartType'”
我还在 app.module.ts 中导入了 ChartModules
【问题讨论】:
您使用的是哪个版本的 chart.js? 看来您正在将一个字符串传递给一个需要 CharType 但无处可见的值 我在使用 "chart.js": "^2.9.4", "ng2-charts": "^2.4.2" 我得到了答案。我刚刚将 chartType 数据类型从 string 更改为 any 。 @FazariaAsira 应尽可能避免 【参考方案1】:将您的 barChartType
类型从 string
更改为 ChartType
并从 chart.js 导入。
import ChartOptions, ChartType, ChartDataSets from 'chart.js';
public barChartType: ChartType = 'bar';
演示:https://stackblitz.com/edit/ng2-charts-bar-template?file=src%2Fapp%2Fapp.component.ts
【讨论】:
谢谢。终于这个工作了。我还有一个问题是如何在 2.5 范围内更改 y 轴值 请求您提出一个新问题,包括要求和您面临的问题。 好的@Vimal Patel。谢谢【参考方案2】:如果您将 CharType 数据类型更改为任何类型?
【讨论】:
以上是关于类型“字符串”不可分配给类型“图表类型”的主要内容,如果未能解决你的问题,请参考以下文章
打字稿类型'字符串| null' 不可分配给类型 'string'
键入'键:字符串; ' 不可分配给类型 'Product' Angular 7