【发布时间】:2018-02-12 10:17:20
【问题描述】:
我有两个文本框,我可以在其中写入用于获取图表中 Y 轴的最小值和最大值的数值。
例如,如果我在 min = 0 和 max = 100 上设置了值,图表的 Y 轴将从 0 到 100。如果我更改 max = 50,图表将呈现为 Y 轴从 0 到 50。
问题是,如果我删除该值并且不写任何内容,图表就会消失。我想要做的是,如果删除该值并且之后没有写入任何内容,则保留该值并且不对图表执行任何操作。
这是html:
<span class="min-max">
Max:</br>
<input type="number" ng-change="$ctrl.updateY()" ng-model="$ctrl.maxValue"></br>
Min:</br>
<input type="number" ng-change="$ctrl.updateY()" ng-model="$ctrl.minValue"></br>
</span>
这是js函数:
updateY() {
const maxNumber = Number(this.maxValue);
const minNumber = Number(this.minValue);
this.lineView.chart.axis.range({max: {y: maxNumber}, min: {y: minNumber}});
}
有什么建议吗?
【问题讨论】:
-
设置为默认
0; -
@GuruprasadRao 你能说得更具体些吗?无论如何,这仅适用于硬编码的初始值。如果它会被写入另一个值,比如说
max = 2341,在我删除它之后我希望图表保持不变,比如 Y 轴到最大值为 2341 -
只需检查
if ( maxValue !== '' && minValue !== '' ) Draw the range。 我希望 Angular 会从输入中修剪值。
标签: javascript angularjs charts billboard.js