IgxDatePickerは、編集中、未入力部分には”_”が表示されるのですが、それを”0″に変更したい場合は、IgxDatePickerにng-templateを埋め込み、その中のinputタグに対してIgxMaskをのpromptCharで”0″を指定してください。

<!-- テンプレート側 (app.component.html) -->
<igx-date-picker [value]="currentDate" mode="dropdown">
  <ng-template igxDatePickerTemplate 
               let-openDialog="openDialog" 
               let-value="value"
               let-displayData="displayData">
    <igx-input-group>
      <input #dropDownTarget igxInput
        [value]="displayData | date:'yyyy/MM/dd'"
        [igxMask]="'0000/00/00'" [promptChar]="'0'"
        (blur)="changeDate($event)"/>
      <igx-suffix (click)="openDialog(dropDownTarget)">
        <igx-icon>event_note</igx-icon>
      </igx-suffix>
    </igx-input-group>
  </ng-template>
</igx-date-picker>
// コード側 (app.component.ts)
public changeDate(event) {
  const input = event.target.value;
  const parsedDate = new Date(input);
  if (this.isDateValid(parsedDate)) {
    this.currentDate = parsedDate;
  } else {
    this.notify();
  }
}

private isDateValid(date: Date): boolean {
    return (new Date(date).toLocaleString() !== "Invalid Date");
}

 

実行結果

 

サンプル

 

APIリファレンス

 

Tagged:

製品について

Ignite UI for Angular