используйте startDate как YYYY-MM-DD вместо года, месяца, дня - PullRequest
0 голосов
/ 17 июня 2020

Можно ли использовать в ngb-datepicker startDate как YYYY-MM-DD?

Теперь я получил

<input class="form-control ml-2" placeholder="{{awayFrom}}" [startDate]="{year: 2018, month: 11, day: 11}"  name="awayFrom" [(ngModel)]="awayFrom" ngbDatepicker (click)="d.toggle()" #d="ngbDatepicker">

Но я хочу:

<input class="form-control ml-2" placeholder="{{awayFrom}}" [startDate]="startDate"  name="awayFrom" [(ngModel)]="awayFrom" ngbDatepicker (click)="d.toggle()" #d="ngbDatepicker">

где startDate - дата получения от Api. И эта дата в формате ГГГГ-ММ-ДД

1 Ответ

0 голосов
/ 17 июня 2020

DatePicker принимает дату только в объектном формате. Итак, что вам нужно сделать, это преобразовать вашу строковую дату в объект. Вы можете сделать это, создав тип даты Pipe и DatePicker

@Pipe({name: 'datePickerDatePipe'})
export class DatePickerDatePipe implements PipeTransform {
  transform(api_date_string: string): DatePickerDate {
    let date =  new Date(api_date_string);
    let calendarDate = {year: date.getFullYear(), month: date.getMonth(), day: date.getDay()};
    return calendarDate;
  }
}

export type DatePickerDate = {year: number, month: number, day: number};

// usage in HTML:
{{model.startdate | datePickerDatePipe}} 
...