Установить значение по умолчанию для углового материала datePicker с угловым 5
Я использую финик из углового материала. Я хочу установить значение по умолчанию, но оно не показывает значение.
<mat-form-field class="mr-sm-24" fxFlex (click)="open()" >
<input matInput [picker]="picker" placeholder="Date"
autocomplete="off"
name="date"
formControlName="date">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker [startAt]="startDatePicker" #picker></mat-datepicker>
</mat-form-field>
это мой код.js со значением, которое я хочу установить по умолчанию
var date = this.datepipe.transform((new Date().getTime()) - 3888000000, 'dd/MM/yyyy');
this.form = this.formBuilder.group({
dataInicial: [data_inicial],
...
8 ответов
У меня это работает!
HTML-
<mat-form-field>
<input matInput [matDatepicker]="picker1" placeholder="From Date" [formControl]="date1">
<mat-datepicker-toggle matSuffix [for]="picker1"></mat-datepicker-toggle>
<mat-datepicker #picker1></mat-datepicker>
</mat-form-field>
TS-
date1 = new FormControl(new Date())
Вам необходимо предоставить объект Date для изменения startAt, как показано ниже:
В.ts:
date = new Date((new Date().getTime() - 3888000000));
В HTML:
<mat-datepicker [startAt]="date" #picker></mat-datepicker>
Рабочее демо здесь: https://stackblitz.com/edit/angular-n9yojx
Вы можете использовать определенный formControl во входных данных.
вот html
<mat-form-field class="mr-sm-24" fxFlex (click)="open()" >
<input [matDatepicker]="picker" matInput placeholder="Date" autocomplete="off" name="date" formControlName="date" [(ngModel)]="date.value">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>
вот TS объявляет, что вы formControl
date: FormControl;
this.date = new FormControl(new Date(<you can provide you date input field if you getting date from other sources>))
В группе контроллеров форм вы можете использовать дату по умолчанию, как показано ниже.
birthdayCtrl: ['1999-01-31']
Ниже приведен рабочий код с формами Angular 10, Angular Material 10 и Reactive.
component.ts
this.youForm= this._formBuilder.group({
StartDate: [new Date(), Validators.required],
});
Без изменений в component.html
<mat-form-field appearance="outline">
<input matInput [matDatepicker]="StartDate" placeholder="Start date *"
formControlName="StartDate">
<mat-label>Start Date *</mat-label>
<mat-datepicker-toggle matSuffix [for]="StartDate"></mat-datepicker-toggle>
<mat-datepicker #StartDate></mat-datepicker>
</mat-form-field>
Используя подход, основанный на шаблонах, решение выглядит следующим образом.
selectedDate = new Date();
<input class="form-control"
matInput
[matDatepicker]="dp3"
[min]="today"
[max]="max"
disabled
[(ngModel)]="selectedDate"
(ngModelChange)="dateUpdated()"
name="currentDate"
/>
<mat-datepicker-toggle
matSuffix
[for]="dp3"
></mat-datepicker-toggle>
<mat-datepicker #dp3 disabled="false"></mat-datepicker> ```
В вашем.html----
<mat-form-field style="width:150px;" color="accent">
<mat-label>Choose From Date</mat-label>
<input class="example-events" matInput [matDatepicker]="picker1" [ngModel]="dateF" >
<mat-datepicker-toggle matSuffix [for]="picker1"></mat-datepicker-toggle>
<mat-datepicker #picker1 ></mat-datepicker>
</mat-form-field>
в вашем.ts----
dateF:any=new Date();
Вот мой ответ,
в вашем.html
<mat-form-field class="mr-sm-24" fxFlex (click)="open()" >
<input [matDatepicker]="picker" matInput placeholder="Date" autocomplete="off" name="date" formControlName="date">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>
в ваших.ts
this.form = this.formBuilder.group({
date: new FormControl(new Date()), // Current Date
...
});
Это установит текущую дату как дату по умолчанию.