Пользовательская метка ввода в угловом материале Datepicker - PullRequest
0 голосов
/ 28 января 2019

Я добавил сборщик угловых материалов на свою страницу.Мне было интересно, можно ли изменить текст ввода с проанализированной даты на что-то более дружественное?например, если пользователь нажимает текущую дату вместо отображения 28/01/2019, она может отображать «Сегодня» или «Вчера» и т. д.

Мой текущий код довольно прост, у меня есть простой инструмент выбора даты в моем HTML-коде, и я сделал дату клиентаАдаптер для установки дат, введенных в Великобритании, все это работает, но мне было интересно, возможен ли синтаксический анализ Сегодня / Вчера и где лучше всего это сделать?

HTML

<div [formGroup]="formGroup">
    <mat-form-field>
      <input matInput formControlName="date" [matDatepicker]="picker" placeholder="Choose a date" (click)="picker.open()">
      <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
      <mat-datepicker #picker></mat-datepicker>
    </mat-form-field>
</div>

Адаптер даты

export class CustomDateAdapter extends NativeDateAdapter {
    parse(value: any): Date | null {
        console.log(value);
        if ((typeof value === 'string') && (value.indexOf('/') > -1)) {
            const str = value.split('/');
            return new Date(Number(str[2]), Number(str[1]) - 1, Number(str[0]), 12);
        }
        const timestamp = typeof value === 'number' ? value : Date.parse(value);
        return isNaN(timestamp) ? null : new Date(timestamp);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...