这是我的html和ts代码,我想通过chartType函数创建用于更改图形的下拉列表,但出现错误,chartType不是函数,但该函数可以与按钮一起使用,但不能与下拉列表一起使用。
<div>
<button mat-raised-button color="warn" (click)="chartType('bar')">Bar Chart</button>
<button mat-raised-button color="primary" (click)="chartType('line')">Line Chart</button>
<button mat-raised-button color="accent" (click)="chartType('radar')">Radar Chart</button>
<button mat-raised-button color="primary" (click)="chartType('polarArea')">Polar Chart</button>
<select name="chartType" id="chartType" onchange="chartType(this)">
<option selected>Select Chart Type</option>
<option value="bar">Bar</option>
<option value="line">Line</option>
</select>
<div class = "chart" >
<canvas id="canvas"> {{charts}} </canvas>
</div>
</div>
chartType(type: any)
{
this.charts.destroy()
this.charts = new Chart('canvas', {
type: type,
data: {
labels: this.arr,
datasets: [{
label: 'IR',
data: this.a1,
borderWidth: 3,
fill: false,
backgroundColor: 'red',
borderColor: 'red'
}
]
}
})
}
1条答案
按热度按时间j5fpnvbx1#
如果您在
select
元素上定义一个change
事件处理程序,那么您的问题就应该得到解决了。请看一下这个StackBlitz,看看它是如何工作的。