【发布时间】:2018-07-06 09:03:33
【问题描述】:
按照您的示例代码进行操作
<div class="col-6">
<form class="form-inline">
<div class="form-group">
<div class="input-group">
<input class="form-control form-control-sm" placeholder="yyyy-mm-dd"
name="d2" #c2="ngModel" [(ngModel)]="model2" ngbDatepicker #d2="ngbDatepicker">
<div class="input-group-append">
<button class="btn btn-sm btn-outline-secondary dropdown-toggle" (click)="d2.toggle()" type="button">
</button>
</div>
</div>
</div>
</form>
<hr/>
<button class="btn btn-sm btn-outline-primary" (click)="model2 = null">Select Today</button>
<hr/>
<pre>M: {{ model2 | json }}</pre>
<pre>S: {{ c2.status }}</pre>
<pre>B: {{ c2.status==INVALID }}</pre>
</div>
工作正常。但我想为整个input-group 设置一个错误类,类似于
<div class="input-group" [ngClass]="{ 'has-error':isInValid }">
但c2.status 的评估永远不会动态评估为true/false。它保持不变 ==> 如何进行适当的比较以动态设置类?
【问题讨论】:
-
在这里工作正常:stackblitz.com/edit/angular-2dsstd?file=app/…。发布一个完整的最小示例来重现该问题,就像我刚才所做的那样。
-
如果你在上面添加我的代码的最后一行,你会看到它总是评估为
false(而不是依赖于c2.status -
最后一行?
c2.status==INVALID?您的组件的属性 INVALID 的值是多少?如果您的目标是将状态与 字符串 'INVALID' 进行比较,那么它应该是c2.status === 'INVALID'。带引号。 -
是的 - 是的......我错过了那部分:-/因为我不熟悉当前的实现:如果这个文本仍然存在,是否有任何提示?或者是否有一些更适合比较的实体?无论如何-谢谢提示-我自己可以想出来的:-(
-
不确定你在问什么。您是在问如何测试控件是否无效?最简单的方法是
c2.invalid。 angular.io/api/forms/NgModel