禁用ngbDatepicker输入

Had*_*uli 6 angular2-forms angular2-directives ng-bootstrap angular

我正在使用ngbDatepickerng2-datepicker-jalali。我使用ngbDatepicker如下指令:

   <div class="input-group" dir="ltr">
      <input class="form-control" 
          placeholder="yyyy/m/d" 
          name="dp" 
          [(ngModel)]="registerDate" 
          ngbDatepicker 
          [firstDayOfWeek] = "6"
          [disabled]="disabled"
          #d="ngbDatepicker" >
          <button class="input-group-addon" (click)="d.toggle()" type="button">
              <i class="fa fa-calendar"></i>
          </button>
    </div>
Run Code Online (Sandbox Code Playgroud)

我正在尝试禁用输入以从datepicker强制选择日期。 [disabled]="disabled"attr禁用整个日期选择器。

Ian*_*n A 7

您可以使用:

[readonly]="true"
Run Code Online (Sandbox Code Playgroud)

上的<input>,其作用是将输入转换为只读输入,这意味着将迫使用户使用日期选择器进行选择:

<div class="input-group" dir="ltr">
  <input class="form-control" 
    placeholder="yyyy/m/d" 
    name="dp" 
    [(ngModel)]="model" 
    ngbDatepicker 
    [firstDayOfWeek] = "6"
    [readonly]="true"
    #d="ngbDatepicker" >
    <button class="input-group-addon" (click)="d.toggle()" type="button">
      <i class="fa fa-calendar"></i>
    </button>
</div>
Run Code Online (Sandbox Code Playgroud)

唯一的问题是,在没有删除输入中的文本的情况下,我找不到清除日期选择器的方法,因此,如果需要,您可能需要实现一个按钮来清除日期:

<button (click)="clear()" type="button">Clear</button>

public clear(): void {
  this.model = undefined;
}
Run Code Online (Sandbox Code Playgroud)

这是一个演示:http : //plnkr.co/edit/gYneFD?p=preview