【发布时间】:2018-04-16 21:46:01
【问题描述】:
我正在使用 chartJS,除了显示默认图表之外,我只想显示在 Combobox 上选择的图表。 问题是我无法显示默认图表,也无法隐藏未选择的值。 我在初始化时填充了图表,以便在打开页面图表组件时获取数据。 我使用函数 onChange 传递画布图表的 id 来显示它,但不能隐藏其他图表。请注意,我总是可以添加更多图表类型,如点图等……最好的方法是什么? 我现在的代码是:
.html
我不知道 data-ng-model="barChart" 是否适用于打字稿或该版本的 angular.. 但目的是在打开图表页面
<select (change)="onChange($event.target.value)" data-ng-model="barChart">
<option value="barChart" selected>{{'Bar Chart' | translate }}</option>
<option value="chart2">{{'Line Chart' | translate }}</option>
<option value="rdr">{{'Radar Chart' | translate }}</option>
<option value="pp1">{{'Pie Chart' | translate }}</option>
</select>
<div class="card-block">
<canvas id="barChart" hidden="true"></canvas>
<canvas id="chart2" hidden="true"></canvas>
<canvas id="rdr" hidden="true"></canvas>
<canvas id="pp1" hidden="true"></canvas>
</div>
.ts
ngOnInit()
{
var ctx = document.getElementById("barChart");
var cts = document.getElementById("chart2");
var radar = document.getElementById("rdr");
var pie = document.getElementById("pp1");
// values to fill the chart
...
this.barChart = new Chart(ctx, {
type: 'bar',
data: {
...
}
...
}
}
onChange(deviceValue) {
this.select = deviceValue;
document.getElementById(deviceValue).hidden = false;
}
...
编辑: 这段代码没有显示任何内容,然后当我在组合框上选择一个图表时,它会显示图表,但是当我选择其他时,尽管选择了显示,但不会隐藏另一个..
【问题讨论】:
-
给我几分钟,我会给你一个解决方案
-
我编辑了这篇文章以提供我的代码所做的信息..
-
图表都用新值很好地更新了,这里的问题是只显示组合框上选择的图表类型(条形图、饼图、雷达等)。我可以将它们全部隐藏并显示选定的一个,但从不隐藏任何...所以我以页面上显示的所有图表结束。
-
你能检查一下我发布的答案,看看你是否可以修复它
-
现在查看我的帖子。
标签: html angular typescript charts