我从Angula 8和ngx-charts开始。
我想显示配置文件中的图形。为此,我允许配置文件提供几个图形选项(基本上,https://swimlane.gitbook.io/ngx-charts/examples/bar-charts/vertical-bar-chart中的几乎所有选项)
而且我有一个基本组件,看起来像这样:
<ngx-charts-bar-vertical
[results]="results"
[xAxisLabel]="xAxisLabel"
[yAxisLabel]="yAxisLabel"
[view]="displayOptions.view"
[scheme]="displayOptions.scheme"
[schemeType]="displayOptions.schemeType"
[customColors]="displayOptions.customColors"
[animations]="displayOptions.animations"
[legend]="displayOptions.legend"
[legendPosition]="displayOptions.legendPosition"
[gradient]="displayOptions.gradient"
[tooltipDisabled]="displayOptions.tooltipDisabled"
[xAxis]="displayOptions.xAxis"
[yAxis]="displayOptions.yAxis"
[showXAxisLabel]="displayOptions.showXAxisLabel"
[showYAxisLabel]="displayOptions.showYAxisLabel"
[showGridLines]="displayOptions.showGridLines"
[xAxisTicks]="displayOptions.xAxisTicks"
[yAxisTicks]="displayOptions.yAxisTicks"
[showDataLabel]="displayOptions.showDataLabel"
[barPadding]="displayOptions.barPadding"
(select)="onSelect($event)"
>
</ngx-charts-bar-vertical>
我的问题是,如果用户不提供选项,我想使用ngx图中的默认值。但是ngx-charts不允许某些输入为空输入。例如,如果“ displayOptions.scheme”为null,则ngx-charts无法显示图形。
ERROR Error: Cannot read property 'scaleType' of undefined
https://stackblitz.com/edit/vertical-bar-chart?embed=1&file=app/app.component.ts(只是必须删除colorScheme对象)。即使我为colorScheme.domain提供了一个空数组,它也不使用默认值。
实际上,如果没有“ displayOptions.scheme”,我只是不想将任何“ scheme”输入传递给ngx-charts-bar-vertical组件。
有没有办法做到这一点?我没有找到任何方式限制Angular中输入的使用。
我要做的是复制输入的默认值,我将在github上检查源代码。我不知道是否有办法动态获取输入的默认值。
实际上,某些默认值是特定的(方案是一个对象,但是默认值为字符串),这就是为什么空/空值不能用作默认值的原因。