【问题标题】:Datepicker - invalid date & class styleDatepicker - 无效的日期和班级风格
【发布时间】: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.invalidangular.io/api/forms/NgModel

标签: datepicker ng-bootstrap


【解决方案1】:

感谢 JB Nizet 我想出了以下正确的语法:

&lt;div class="input-group" [ngClass]="{ 'has-error': c2.invalid }"&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-06
    • 2019-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-24
    • 1970-01-01
    相关资源
    最近更新 更多